Quick Recipe Version (TL;DR)
Quick Ingredients
- 1 lb (454 g) spaghetti
- 1 tbsp olive oil
- 1 medium yellow onion, finely chopped (about 1 cup)
- 4 cloves garlic, minced
- 1 lb (454 g) ground beef (85–90% lean)
- 2 tbsp tomato paste
- 1 (28 oz / 794 g) can crushed tomatoes
- 1 (15 oz / 425 g) can tomato sauce
- 1/2 cup beef broth (or water)
- 2 tsp Italian seasoning
- 1 tsp kosher salt (plus more for pasta water)
- 1/2 tsp black pepper
- 1 tsp granulated sugar (optional)
- 1/4 tsp red pepper flakes (optional)
- 12 oz (340 g) shredded mozzarella cheese (about 3 cups), divided
- 1/2 cup (50 g) grated Parmesan cheese, divided
- 2 tbsp chopped fresh parsley or basil (optional, for serving)
- 1 tbsp unsalted butter (for greasing the pan)
Do This
- 1. Heat oven to 375°F (190°C). Butter a 9×13-inch baking dish.
- 2. Boil spaghetti in well-salted water until just al dente; drain.
- 3. Sauté onion in olive oil, then add garlic; brown the ground beef.
- 4. Stir in tomato paste, then crushed tomatoes, tomato sauce, broth, and seasonings; simmer 15 minutes until thick.
- 5. Toss spaghetti with the meat sauce and 1 cup mozzarella plus 1/4 cup Parmesan.
- 6. Spread into dish; top with remaining mozzarella and Parmesan.
- 7. Bake 25 minutes until bubbly; broil 2–3 minutes to brown. Rest 10 minutes, then slice.
Why You’ll Love This Recipe
- True casserole vibes: It bakes up sturdy enough to slice into generous squares after a short rest.
- Thick, clingy meat sauce: The sauce is simmered until rich, so it coats every strand of spaghetti.
- Golden, bubbly cheese top: Mozzarella melts into stretchy goodness while Parmesan browns for flavor.
- Family-friendly and make-ahead: Perfect for busy nights, potlucks, and leftovers.
Grocery List
- Produce: 1 medium yellow onion, 4 cloves garlic, fresh parsley or basil (optional)
- Dairy: mozzarella cheese, Parmesan cheese, unsalted butter
- Meat: ground beef
- Pantry: spaghetti, olive oil, tomato paste, crushed tomatoes, tomato sauce, beef broth (or water), Italian seasoning, kosher salt, black pepper, granulated sugar (optional), red pepper flakes (optional)
Full Ingredients
Pasta
- 1 lb (454 g) spaghetti
- Kosher salt (for the pasta water)
Thick Meat-and-Tomato Sauce
- 1 tbsp olive oil
- 1 medium yellow onion, finely chopped (about 1 cup)
- 4 cloves garlic, minced
- 1 lb (454 g) ground beef (85–90% lean)
- 2 tbsp tomato paste
- 1 (28 oz / 794 g) can crushed tomatoes
- 1 (15 oz / 425 g) can tomato sauce
- 1/2 cup beef broth (or water)
- 2 tsp Italian seasoning
- 1 tsp kosher salt
- 1/2 tsp black pepper
- 1 tsp granulated sugar (optional, balances acidity)
- 1/4 tsp red pepper flakes (optional)
Cheese and Assembly
- 1 tbsp unsalted butter (to grease the baking dish)
- 12 oz (340 g) shredded mozzarella cheese (about 3 cups), divided
- 1/2 cup (50 g) grated Parmesan cheese, divided
- 2 tbsp chopped fresh parsley or basil (optional, for serving)

Step-by-Step Instructions
Step 1: Prep the oven and baking dish
Position a rack in the upper-middle of the oven and preheat to 375°F (190°C). Grease a 9×13-inch baking dish evenly with 1 tbsp unsalted butter (bottom and sides). Set aside.
Step 2: Cook the spaghetti until just al dente
Bring a large pot of water to a boil. Add enough salt so the water tastes pleasantly salty (a good guideline is 1 1/2 tbsp kosher salt for a full pot, but you can eyeball it).
Add 1 lb spaghetti and cook until just al dente, typically 1–2 minutes less than the package directions. You want it slightly firm because it will finish cooking in the oven. Drain well and set aside.
Step 3: Sauté onion and garlic, then brown the beef
While the pasta cooks, heat 1 tbsp olive oil in a large, deep skillet or Dutch oven over medium heat. Add the chopped onion and cook for 5 minutes, stirring occasionally, until softened.
Add the minced garlic and cook for 30 seconds, just until fragrant. Add the 1 lb ground beef and cook for 7–9 minutes, breaking it up with a spoon, until fully browned and no pink remains.
If there is a lot of grease in the pan, carefully spoon off and discard excess, leaving about 1 tbsp in the skillet for flavor.
Step 4: Build a thick, rich tomato sauce
Stir in 2 tbsp tomato paste and cook for 1 minute to caramelize it slightly. Add the crushed tomatoes, tomato sauce, and 1/2 cup beef broth.
Season with 2 tsp Italian seasoning, 1 tsp kosher salt, 1/2 tsp black pepper, and (if using) 1 tsp sugar and 1/4 tsp red pepper flakes. Bring to a gentle simmer, then reduce heat to medium-low and simmer uncovered for 15 minutes, stirring occasionally, until noticeably thick and glossy.
The goal is a sauce that clings to the spoon—this helps the baked spaghetti slice neatly instead of turning soupy.
Step 5: Combine spaghetti, sauce, and a little cheese
Add the drained spaghetti to the skillet with the meat sauce. Toss thoroughly until every strand is coated.
Mix in 1 cup shredded mozzarella and 1/4 cup grated Parmesan. This small amount of cheese inside the pasta helps it hold together and adds creamy pockets throughout.
Step 6: Assemble and top with mozzarella and Parmesan
Spoon the sauced spaghetti into the prepared baking dish and spread it into an even layer. Sprinkle the top with the remaining mozzarella (about 2 cups) and the remaining Parmesan (about 1/4 cup), covering the surface evenly.
Step 7: Bake until bubbly, then brown the top
Bake uncovered at 375°F (190°C) for 25 minutes, until the edges are bubbling and the cheese is fully melted.
For a browned, casserole-style top, switch the oven to broil and broil for 2–3 minutes, watching closely, until you get golden-brown spots on the cheese.
Step 8: Rest, slice, and serve
Let the baked spaghetti rest for 10 minutes before slicing. This rest time is what helps it set up so you can cut clean squares.
Slice into portions and, if you like, finish with 2 tbsp chopped fresh parsley or basil for a fresh pop of color.
Pro Tips
- Undercook the pasta slightly: Stop at al dente (or a touch under). Overcooked spaghetti can turn soft after baking.
- Simmer the sauce uncovered: Reducing the sauce for a full 15 minutes keeps the casserole thick and sliceable.
- Shred your own mozzarella if you can: Pre-shredded cheese contains anti-caking agents that can melt a bit less smoothly.
- Rest before cutting: A full 10 minutes makes a big difference in how neatly it slices.
- Broil briefly, not blindly: Cheese can go from golden to scorched fast; stay at the oven during broiling.
Variations
- Sausage-and-beef version: Replace 1/2 lb ground beef with 1/2 lb Italian sausage (casings removed) for a punchier, spiced sauce.
- Veggie-loaded: Add 1 cup finely diced bell pepper with the onion, or stir in 8 oz sliced mushrooms and cook until their moisture evaporates before adding tomato paste.
- Extra-cheesy bake: Add 1/2 cup whole-milk ricotta in small dollops across the top under the mozzarella for creamy pockets.
Storage & Make-Ahead
Refrigerate: Cool completely, then cover tightly or transfer to airtight containers. Refrigerate for up to 4 days.
Freeze: Wrap well (plastic wrap plus foil) and freeze for up to 3 months. Thaw overnight in the refrigerator before reheating for best texture.
Reheat: For a single portion, microwave until hot. For best results, reheat in a 350°F (175°C) oven, covered with foil, for 20–25 minutes (remove foil for the last 5 minutes to re-crisp the top).
Make-ahead: Assemble the casserole (without baking), cover, and refrigerate up to 24 hours. Bake at 375°F (190°C) for 35 minutes covered with foil, then uncover and bake 10–15 minutes more until bubbly and browned.
Nutrition (per serving)
Approximate, based on 8 servings: 560 calories, 30 g protein, 58 g carbohydrates, 23 g fat, 10 g saturated fat, 1,050 mg sodium, 4 g fiber, 8 g sugar.
