Preheat oven to 400ºF. Place tomatoes on a baking sheet. Gently toss with a drizzle of olive oil. Season with salt and pepper.
Roast until tomatoes are blistered, about 15-25 minutes, depending on the size of your tomatoes.
Turn oven down to 350ºF. Cook and drain pasta according to package directions.
Set aside 1/4 cup of each of the cheeses for the top.
In a small bowl, whisk milk and heavy cream together.
In a 2-quart oven safe pot, melt butter over medium heat. Stir in flour and cook for 1 minute.
Slowly whisk in 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 each cheddar and Gruyere cheeses. Taste sauce and season with more salt or pepper if necessary.
Fold in cooked pasta, roasted tomatoes, bacon, 1 teaspoon parsley and 1 teaspoon chives. Top with remaining cheese.
Bake in top third of the oven, just until cheese is melted, about 7-10 minutes. Sprinkle with remaining parsley and chives.