Heat oven to 425°F.
Add tomatoes, onion, shallot, and garlic to a roasting pan.
Drizzle with olive oil and season with salt and pepper.
Roast for 40–45 minutes, or until very soft and well browned.
Transfer the tomatoes, onion, shallot, roasting juices, and squeezed roasted garlic to a pot.
Add a drizzle of olive oil, basil, and water.
Bring to a simmer and cook for 10 minutes.
Blend until smooth with an immersion blender or blender.
Return to the pot and stir in cream, butter, and parm.
Simmer gently for about 10 minutes.
Season with additional salt and pepper as needed.
Serve with grilled cheese.
