Select the Saute function on the Instant Pot®. Add the olive oil, celery, carrot, onion, and garlic. Cook with the lid off for 5 minutes, stirring occasionally.
Next, stir in the vegetable broth, diced and crushed tomatoes, tomato paste, basil, salt, and pepper. Close and lock the lid making sure the valve is set to seal, not vent. Select high pressure and set the timer for 6 minutes.
While the pressure cooker comes to temperature, set a small saucepan over low heat and add the butter. Once the butter is melted, stir in the flour until a smooth, thick paste forms. This should take about 3 minutes. Set aside for later.
After the timer finishes, let the pressure release naturally for 2 minutes according to the manufacturer's instructions. Release the remaining pressure by opening the valve to vent and remove the lid afterwards.
Using an immersion blender, carefully puree the hot soup. Select the Saute function again and set the timer for 3 minutes. Add the flour paste, half and half, and parmesan cheese and stir continuously until the timer ends. Season with more salt and pepper if desired.