Bring a large pot of salted water to a boil. Add the pasta and cook according to the package instructions until al dente. Drain the pasta, reserving a little bit of pasta water for later.
While the pasta is cooking, heat a large skillet over medium-high heat. Add the ground beef and cook, breaking it apart with a spoon, until browned and cooked through (about 5-7 minutes). Drain any excess fat if needed.
Add the diced onion to the skillet with the beef and cook for 2-3 minutes until softened. Add the minced garlic and cook for another 30 seconds until fragrant.
Stir in the chopped spinach and cook for 3-4 minutes, or until the spinach wilts down. Then, pour in the tomato sauce and stir everything together. Season with salt, pepper, and oregano (if using). Let it simmer for 5 minutes to combine the flavors.
Add the cooked pasta to the skillet with the beef and spinach mixture. Toss everything together, adding a bit of reserved pasta water if the sauce is too thick.
Taste and adjust seasoning if needed. Serve hot, topped with Parmesan or mozzarella cheese if desired.