Roast the tomatoes
Heat the oven to 300° F. Toss the baby tomatoes with 1 tablespoon of the oil, then spread them on a baking sheet in a single layer and season with a pinch of salt and black pepper. Roast for 40 minutes, give them a stir, then roast for 35 to 50 minutes more until they’re wrinkled, sweet, and jammy.
Prep the aromatics
While the tomatoes roast, finely chop the red onion, mince the garlic, and chop the sun-dried tomatoes if they’re in big pieces. Grate the Pecorino Romano finely so it melts smoothly into the sauce later.
Boil the pasta
Bring a large pot of salted water to a boil, add the pasta, and cook until al dente, about 10 to 12 minutes or according to the package. Before you drain it, scoop out about 1 cup of the starchy pasta water.
Build the sauce
Set a large skillet over medium heat and warm the remaining oil. Add the red onion and cook, stirring, for 5 minutes until softened. Stir in the garlic, sun-dried tomatoes, tomato paste, red pepper flakes, and flour, and cook just until fragrant. Pour in the chicken broth and heavy cream, scraping up any browned bits, then season with oregano, smoked paprika, salt, and black pepper. Simmer for 5 minutes, stir in the roasted tomatoes, then add the spinach a handful at a time and cook for 2 minutes more, just until it wilts and the sauce looks glossy.
Toss and serve
Take the skillet off the heat and add the drained pasta and the grated Pecorino Romano, tossing until the sauce turns silky and clings to every noodle. Add a splash of reserved pasta water if it needs loosening, then finish with the lemon juice and a few torn basil leaves, if you have them. Taste and add a little more salt or black pepper if you like, then serve right away.

















