Preheat oven to 375°F (190°C) and grease a 9x13 inch baking dish.
In a large skillet over medium-high heat, brown the ground beef and diced onion until meat is fully cooked; drain excess fat.
Stir in minced garlic, salt, pepper, and paprika; cook for 1 minute until fragrant.
In a small saucepan, melt butter over medium heat, whisk in flour for 1 minute, then slowly whisk in beef broth and milk until thickened into a gravy.
Place cubed potatoes in the prepared baking dish and pour the beef mixture over them.
Pour the gravy over the beef and potatoes, tossing gently to ensure even coating.
Cover the dish tightly with aluminum foil and bake for 45 minutes or until potatoes are fork-tender.
Remove foil, sprinkle shredded cheddar cheese and bacon crumbles over the top.
Return to oven and bake uncovered for an additional 10-15 minutes until cheese is melted and bubbling.
Garnish with sliced green onions before serving.