Preheat the oven to 400ºF (200ºC). Place the tomatoes on a baking sheet. Gently toss with a drizzle of olive oil. Season with salt and pepper.
Roast until the tomatoes are blistered, about 15-25 minutes, depending on the size of your tomatoes.
Turn the oven down to 350ºF (180ºC). Cook and drain the pasta according to the package directions.
Set aside 1/4 cup (28g) of each of the cheeses for the top. In a small bowl, whisk the milk and heavy cream together.
In a 2-quart oven safe pot,* melt the butter over medium heat. Stir in the flour and cook for 1 minute.
Slowly whisk in the milk and cream. Heat until thickened, whisking out any lumps. Season with salt and pepper to taste. (I used 1/2 teaspoon salt and 1/4 teaspoon pepper.)
Remove from heat. Gradually stir in 3/4 cup (85g) each cheddar and Gruyere cheeses. Taste the sauce and season with more salt or pepper if necessary.
Fold in the cooked pasta, roasted tomatoes, bacon, 1 teaspoon of parsley and 1 1/2 teaspoons of chives. Top with remaining cheese.
Bake in top third of the oven, just until cheese is melted, about 7-10 minutes. Sprinkle with the remaining parsley and chives.