Bring a large pot of salted water to a boil, then add the rigatoni and cook until al dente, about 8-10 minutes.
Reserve 1 cup of the pasta water, drain the pasta, and set it aside.
Meanwhile, core the tomato and dice it into ¼-inch pieces, then mince the garlic.
In a mixing bowl, combine half the minced garlic with softened butter.
Halve the roll and place it cut side up on a prepared baking sheet, spreading the garlic-butter mixture evenly on top.
Bake in a preheated oven at 375°F until golden brown, about 8-10 minutes.
While the bread bakes, pat the shrimp dry and heat 1 tablespoon of olive oil in a large non-stick pan over medium-high heat.
Add the shrimp and cook for 2-3 minutes per side until they turn opaque and reach an internal temperature of 145°F.
Transfer them to a plate and set aside, reserving the pan without wiping it clean.
Return the pan to medium heat, add 1 teaspoon of olive oil, and sauté the diced tomato and remaining garlic, stirring occasionally until the tomato softens and the garlic becomes fragrant, about 2-3 minutes.
Sprinkle in the flour and stir until fully incorporated.
Pour in ¾ cup of the reserved pasta water, marinara sauce, cream cheese, ¼ teaspoon salt, and ¼ teaspoon black pepper, stirring until the mixture is smooth and begins to simmer.
Once simmering, return the cooked shrimp to the pan along with half the Parmesan, the drained pasta, and a pinch of salt if needed.
Stir occasionally until the ingredients are well combined and heated through, about 1-2 minutes.
Remove the pan from heat, plate the pasta, and garnish with the remaining Parmesan.
Serve alongside the garlic bread and enjoy.