Preheat the oven to 350°F (175°C).
In a skillet, melt the butter over medium heat. Add the sliced onion and cook until caramelized, about 15-20 minutes, stirring frequently. Remove from heat and allow to cool slightly.
In a large mixing bowl, combine ground beef, cooked onions (reserve a small amount for topping), salt, pepper, thyme, garlic powder, eggs, breadcrumbs, and Parmesan cheese. Mix until just combined, being careful not to overmix.
Shape the meat mixture into a loaf and place it in a loaf pan.
In a small bowl, mix together the beef broth, ketchup, and Worcestershire sauce. Pour half of the mixture over the meatloaf.
Bake in the preheated oven for 45 minutes.
After 45 minutes, remove the meatloaf and spread the reserved onions on top, then pour the remaining sauce over the loaf.
Return to the oven and bake for an additional 15 minutes or until the internal temperature reaches 160°F (70°C).
Remove from the oven and let it rest for 10 minutes before slicing.