Preheat the oven to 375 degrees. In a large bowl, combine the ground beef, half the diced onion, half the sliced mushrooms, breadcrumbs, egg, milk, Worcestershire sauce, salt, and pepper. Mix until just blended.
Shape the mixture into a loaf and place it in a baking dish. Bake for 50 to 55 minutes until the internal temperature reaches 160 degrees.
While the meatloaf bakes, cook the rice. Combine the rice, water, and a pinch of salt in a saucepan. Bring to a boil, then reduce heat, cover, and simmer for 18 minutes until tender. Remove from heat and let it rest covered.
In a skillet, melt the butter over medium heat. Add the remaining onion and mushrooms and cook until softened, about 5 minutes.
Sprinkle the flour over the vegetables and stir for one minute. Slowly whisk in the beef broth and simmer until the gravy thickens, about 3 to 4 minutes. Season with salt and pepper to taste.
Remove the meatloaf from the oven and let it rest for 5 minutes. Slice and serve with the gravy spooned over the top and rice on the side.