Heat olive oil in a skillet over medium heat. Add sliced onions and cook for 15-20 minutes, stirring occasionally until caramelized. Remove from the pan and set aside.
In the same skillet, cook the ground beef over medium heat until browned, breaking it up as it cooks (5-7 minutes). Drain excess fat and stir in minced garlic. Cook for 1 minute until fragrant.
Add the caramelized onions, uncooked rice, beef broth, Worcestershire sauce, thyme, salt, and pepper to the skillet. Stir well.
Bring to a simmer, cover, and cook on low for 15-20 minutes, until the rice is tender and most liquid is absorbed.
Preheat the oven to 375°F (190°C). Sprinkle mozzarella and Parmesan cheese over the casserole.
Transfer the skillet to the oven and bake for 15-20 minutes, or until the cheese is melted and bubbly. Let the casserole cool slightly. Garnish with chopped parsley and serve.