In a large pot, heat olive oil over medium-high heat. Add ground beef and cook until browned (about 10 minutes).
Add onion and garlic. Sauté for 2–3 minutes until fragrant and translucent.
Stir in crushed tomatoes, broth, water, and all seasonings. Bring to a boil.
Once boiling, reduce heat and simmer for 15 minutes.
Add pasta. Cook uncovered until just under al dente (about half the package time).
Remove from heat and let sit for 5 minutes. Discard bay leaf.
Serve hot, topped with ricotta and parmesan if desired.