In a large skillet, heat olive oil over medium heat. Add diced onion and cook until translucent, about 3-4 minutes. Stir in minced garlic and cook for an additional 1 minute until fragrant.
Add ground beef to the skillet, breaking it up with a spoon. Cook until browned and no longer pink, about 5-7 minutes. Drain excess fat if necessary.
Stir in Italian seasoning, salt, and black pepper. Add the can of diced tomatoes (with juice) and beef broth. Bring to a simmer.
Once simmering, add elbow macaroni. Stir well and cover the skillet. Cook for about 10-12 minutes, stirring occasionally, until the pasta is al dente and most of the liquid is absorbed.
Remove the skillet from heat and stir in shredded cheddar cheese and grated Parmesan cheese until melted and creamy.
Garnish with chopped parsley before serving.