These freezer-friendly, juicy meatballs in rich, homemade gravy are easier than you think – and guaranteed to be a family favourite!
At our place, anything involving gravy is an automatic win. But I’ll admit, making meatballs and gravy from scratch might seem like a lot. You’re just going to have to trust me on this one – it’s easier and faster than you think.

A few little shortcuts (looking at you, freezer-friendly mashed potatoes) make this the perfect weeknight dinner when you want something homemade, hearty and ridiculously satisfying, without spending hours in the kitchen.
The meatballs are juicy, the gravy is rich and silky, and the sautéed garlic spinach and peas bring the perfect balance. Serve them over mash, noodles or rice – whatever makes your weeknight chaos feel a little easier.
And if you need another reason to love these meatballs? You can make them ahead and freeze a batch for later, meaning future-you can pull out a dinner winner whenever needed. Trust me, this one’s a keeper.

My meatballs fall apart when cooking – what am I doing wrong?
Meatballs can fall apart if the mixture is too wet or if they’re over-handled. Make sure you measure the breadcrumbs and egg accurately, as they help bind everything together. Also, gently mix the ingredients until just combined – overmixing can make them tough and more prone to breaking.
Can I use a different type of meat?
Yes! You can swap the minced (ground) beef for minced pork, chicken, turkey, or even a mix of pork and veal.

Can I add more vegetables?
Absolutely! This recipe is flexible – try adding finely diced carrot or mushrooms to the gravy. Add up to 2 cups immediately after the onion and cook for 3–4 minutes, or until softened before proceeding with the recipe. You can also add some sneaky vegetables to the meatballs! Add up to 1 cup (150 g) of finely grated carrot or zucchini (courgette) to your meatball mixture. You may need to add an extra ¼ cup (15 g) of panko breadcrumbs if the mixture is looking a little too wet and if it’s difficult to roll the meatballs.
Watch how to make Meatballs with Gravy
What are some other easy meatball recipes?
If you enjoy meatballs, I think you’ll love:
Meatball Bake
Chicken Meatball Parmigiana
Swedish Meatballs
Risoni Mozzarella Meatballs
Pasta with Baked Meatballs in Garlicky Tomato Sauce

Meatballs with Gravy
These freezer-friendly Meatballs with Gravy feature juicy meatballs cooked in a rich, homemade gravy and served over creamy mashed potatoes with sautéed spinach and peas. This is the ultimate comfort food with minimal effort!
- Total Time: 40 minutes
- Yield: 4 servings 1x
Ingredients
MEATBALLS
- 500 g (1 lb 2 oz) lean minced (ground) beef, lamb, pork or chicken.
- ½ brown onion, grated (using a box grater), or finely diced
- ¾ cup (45 g) panko breadcrumbs
- 1 tsp freshly minced garlic
- 2 tbsp tomato ketchup
- 1 tbsp Worcestershire sauce
- 1 tsp dijon mustard
- 1 egg
- 1 tsp sea salt flakes
- ¼ tsp cracked black pepper
- 2 tbsp olive oil
GRAVY
- 2 tbsp unsalted butter
- ½ brown onion, finely diced
- 1 tsp freshly minced garlic
- 3 tbsp plain (all-purpose) flour
- 2 cups (500 ml) beef stock
- 1 tbsp Worcestershire sauce
- 1 tsp dried thyme (or 1 tsp fresh thyme leaves)
- Sea salt flakes, to taste (see note 1)
- ¼ tsp cracked black pepper
SAUTEED SPINACH AND PEAS
- 1 tbsp olive oil
- 1 tsp freshly minced garlic
- 1⅔ cups (120 g) baby spinach
- 1 cup (155 g) frozen peas
- ½ tsp sea salt flakes
- Cracked black pepper, to taste
- Juice of ½ lemon
TO SERVE
- Freezer-Friendly Mashed Potatoes
- Thyme leaves (optional)
- Cracked black pepper (optional)
Instructions
MEATBALLS
- Add all the ingredients, except the olive oil, to a bowl and mix using your hands until just combined (try not to overmix as this can produce tough meatballs).
- Heat the oil in a large, heavy-based pan over medium–high heat, Cook the meatballs for 3–4 minutes, turning regularly, until browned all over. Set aside on a plate. The meatballs will still be raw in the centre but will continue cooking in the gravy later.
GRAVY
- Turn the heat down to medium–low, add the butter and, once melted, add the onion and garlic. Cook, stirring, for 1–2 minutes.
- Stir the flour through for 30 seconds to create a paste. Slowly add the beef stock, Worcestershire sauce and thyme. Bring to a simmer.
- Return the meatballs to the pan and simmer, uncovered, for 6–8 minutes on low heat, or until the meatballs are cooked through and the gravy has thickened.
SAUTEED SPINACH AND PEAS
- Heat the oil in a large frying pan over medium–high heat. Add the garlic and cook, stirring, for 30 seconds until fragrant.
- Add the spinach and cook, stirring, for 1 minute or until wilted. Add the peas and cook, stirring, for a further 1 minute.
- Turn the heat off and stir through the salt, pepper and lemon juice.
TO SERVE
- Serve the meatballs, gravy and sauteed spinach and peas on a bed of creamy mashed potatoes. Sprinkle with thyme leaves and more cracked black pepper, if desired.
Notes
Note 1 – The amount of salt you use in the gravy will depend on how salty your stock is. I didn’t use any additional salt in this recipe.
Make ahead
Meatballs – Refrigerate pre-made, uncooked meatballs for up to 3 days. Freeze for up to 3 months. Store the meatballs in an airtight container with baking (parchment) paper in between the layers to stop the meatballs sticking. Thaw completely overnight in the fridge before use. Cook as per the recipe.
Leftovers
Meatballs and gravy – Store leftover meatballs and gravy in an airtight container in the fridge for up to 3 days. Freeze for up to 3 months. Thaw completely in the fridge overnight for best results.
Sauteed spinach and peas – Store leftovers in an airtight container in the fridge for up to 3 days. Not suitable to freeze.
- Prep Time: 15 minutes
- Cook Time: 25 minutes
- Category: Beef, Quick and Easy
- Method: Stovetop
- Cuisine: Comfort Food
Rachel E says:
Holy cow this was so delicious and comforting ! Served over egg noodles(a must ) and some fresh green beans …. A new favorite !!
Nicole says:
Hi Rachel, wow, that’s fabulous feedback, thank you so much! So happy you enjoyed it and thanks for the rating, too! Nic x
Susan Fitzgerald says:
This was SO GOOD Nicole – the gravy is 100% worth making, it add such creamy decadence.
Nicole says:
Hi Susan, I know what you mean about the gravy … I am pretty partial to it myself! I’m so happy you enjoyed this!! Thanks so much for the rating, too. Nic x
Maria says:
I’m not a big meatball fan, but my kids are obsessed with your meatball recipes 😍 they say yours are better than nonna’s, and they will happily tell nonna that too!
Nicole says:
Wow, Maria, this is high praise indeed! So glad your kids are loving them. Nic x
Judy says:
Hi Nicole, What can I substitute for the butter when making the gravy?
Nicole says:
Hi Judy, great question! You can swap the butter with olive oil, which works really well. It will still give you that glossy, silky gravy – the butter just adds a little extra richness, so you won’t miss it too much. Nic x
Gloria says:
Tried these tonight and they were great. My son actually ate them which is a miracle! Gave a meatloaf vibe but the gravy was great and came together super quick!
Nicole says:
Hi Gloria, it sounds like you had a win with your son eating these! Fantastic to hear! Nic x
Jess Lee says:
My meatballs fell apart turning them while browning, any ideas?
Nicole says:
Hi Jess, I would try giving the mixture a really good mix so everything sticks together nicely, then let the meatballs sit in the pan long enough to form a lovely golden crust before you move them. That crust is your best friend – it keeps them intact and adds flavour. Panko breadcrumbs versus regular breadcrumbs help everything stay intact and if the mixture feels too dry, or if it happens with most meatball recipes you try, you can always add another egg to help everything stay together nicely. I hope this helps! Nic x
Rachel says:
These were so tasty! Everyone loved this dish tonight, even the teenagers! Perfect for a rainy winters night. Thank you!
Nicole says:
So happy you all enjoyed this, Rachel! Nic x
Linde says:
Since these meatballs quickly became a family favourite I make them almost every week. They are put together so quickly and I just toss them into the airfryer. I rotate the sides. We love it.
Nicole says:
Love to hear this, Linde! Nic x
Clarisse says:
A new favorite for a week-night dinner! Kids and grown-ups found it delicious 😋
Nicole says:
So happy to hear this, Clarisse! Thanks for the rating, Nic x
Jazz says:
A lovely and comforting meal for a cold winter’s night that came together so quickly, especially after prepping the meatballs earlier in the day. The meatballs were super tender, and I have enough leftovers for lunch today!
Nicole says:
So thrilled to hear you enjoyed this … twice! Thanks also for the rating, Nic x
Jude says:
Absolutely delicious! The gravy was glorious. I added a little red currant jelly to sweeten it. But the meatballs were just super tasty and moist!
Nicole says:
Hi Jude, so happy you enjoyed this and love your trick of the redcurrant jelly! Thanks also for the rating. Nic x
Jane Franklin says:
Hi. What beef stock do you use? Would using a beef stock cube be okay? And is the beef stock hot or cold when you add it?
Nicole says:
Hi Jane, It’s absolutely fine to mix stock cubes or powder with water to make up the 2 cups. To tell the truth, it’s what I do most of the time! You can use either hot or cold stock, but hot will just come to a simmer more quickly. Hope this helps. Nic x