Pour tomatoes with their juices into 1-quart liquid measuring cup. Add water until mixture measures 1 quart.
Heat oil in large nonstick skillet over medium heat until shimmering. Add onion and salt and cook until onion begins to brown, about 5 minutes.
Stir in garlic and pepper flakes and cook until fragrant, about 30 seconds.
Add ground meat and cook, breaking apart meat, until no longer pink, about 4 minutes.
Scatter pasta over meat but do not stir.
Pour diced tomatoes with juices and tomato sauce over pasta.
Cover and bring to simmer.
Reduce heat to medium-low and simmer, stirring occasionally, until pasta is tender, about 20 minutes.
Remove skillet from heat and stir in ½ cup Parmesan. Season with salt and pepper.
Dot with heaping tablespoons ricotta, cover, and let stand off heat for 5 minutes.
Sprinkle with basil and remaining 2 tablespoons Parmesan. Serve.
