Pulse tomatoes with their juice in a food processor until coarsely ground and no large pieces remain.
Heat oil in a 12-inch nonstick pan over medium heat.
Add onion and 1/2 teaspoon salt and cook until softened, 5-7 minutes.
Stir in garlic and pepper flakes and cook until fragrant, about 30 seconds.
Add meat and cook, breaking apart, until lightly browned and no longer pink, 3-5 minutes.
Scatter pasta over meat, then pour processed tomatoes over pasta.
Cover, increase heat to medium-high, and cook, stirring often and adjusting heat to maintain a vigorous simmer, until pasta is tender, about 30 minutes.
Off the heat, stir in half of the mozzarella and Parmesan cheeses.
Season with salt and pepper.
Dot heaping tablespoons of ricotta over the noodles, then sprinkle with remaining cheese.
Cover and let stand off heat until cheese melts, 2-4 minutes.