Heat the olive oil in a large skillet over medium heat. Add the diced onion and cook until softened, about 5 minutes. Stir in the minced garlic and cook for an additional 1 minute until fragrant.
Add the ground beef to the skillet, breaking it apart with a spoon. Season with salt, black pepper, and Italian seasoning. Cook until the beef is browned and cooked through, about 6-8 minutes.
Stir in the orzo, beef broth, and diced tomatoes. Bring the mixture to a boil, then reduce the heat to low. Cover and simmer for 10-12 minutes, or until the orzo is tender and has absorbed most of the liquid.
Remove the skillet from heat and stir in the mozzarella and Parmesan cheeses until melted and creamy.
Garnish with fresh basil leaves if desired and serve warm.