Cook pasta in salted water until al dente. Drain and set aside.
Add olive oil to a large pan over medium heat. Cut the bottoms off the tomatoes and place them around the edges of the pan. Add the diced onion in the center. Cover and cook for 8 minutes until softened.
Move the onions aside and add the ground beef to the center. Cook, breaking it apart, until browned.
Peel off the tomato skins, then crush the tomatoes into the pan.
Add garlic, tomato paste, fresh parsley, paprika, thyme, oregano, salt, and pepper. Stir to combine.
Stir in mozzarella and cheddar until melted and creamy.
Add cooked pasta and toss until fully coated.
Serve hot.
