If you're looking for an easy homemade meatballs recipe, these Garlic Parmesan Meatballs are juicy, flavourful and incredibly versatile.
They are made with beef or lamb mince, plenty of garlic, Parmesan, herbs and one little trick I've used for years: blitzing the onion together with a slice of bread before adding it to the mince.
The result is a tender homemade meatball with loads of flavour and none of those large pieces of onion that can sometimes make meatballs fall apart.
I first made this recipe years ago, but after sharing my One-Pot Meatball Pasta, a few people asked how I make the meatballs themselves.
So here they are.
A simple homemade meatball recipe you can use for pasta, tomato sauces, meatball subs, rice bowls or any meal that needs a really good meatball.

There are a few things that help keep homemade meatballs tender rather than dry or dense.
First, don't use mince that is extremely lean. A little fat gives meatballs flavour and helps keep them moist.
Second, don't overwork the mixture. Once everything is in the bowl, mix only until the ingredients are evenly combined.
And finally, there's the onion and bread mixture.
That little step makes a noticeable difference.
I blitz one large onion together with a slice of bread before mixing it into the mince.
The bread absorbs some of the onion's moisture and helps distribute it evenly throughout the meatball mixture.
That means you get all the flavour of onion without large pieces inside the meatballs.
It also helps the mixture stay moist and tender.
Think of it as an easy version of the bread mixture often used to keep classic meatballs soft.
You can make this recipe with beef mince, lamb mince or a combination of both.
Beef gives you a familiar, classic meatball flavour and works especially well with tomato-based pasta sauces.
Lamb has a slightly richer flavour and works beautifully with the garlic, oregano and Parmesan.
You can also use a 50/50 combination of beef and lamb mince.
This gives you a lovely balance of flavour and richness.
Parmesan adds much more than just cheese flavour.
It brings saltiness, richness and a deep savoury flavour to the meatball mixture.
You only need about one third of a cup.
Use finely grated Parmesan so it distributes evenly through the mince.

This is one of the most important tips for an easy homemade meatballs recipe.
Once all the ingredients are in the bowl, mix gently until everything is just combined.
Do not keep squeezing, kneading or compacting the mince.
Overworking the mixture can give you firm, dense meatballs rather than tender ones.
A gentle hand makes a difference.
I use an ice-cream scoop to portion my meatballs.
It makes the process much quicker and gives you evenly sized meatballs, which means they cook at roughly the same rate.
Once scooped, gently roll each portion between your hands.
Do not pack them too tightly.
If you have the time, you can chill the shaped meatballs for about 15 to 20 minutes before frying.
This step is optional, but it can help them hold their shape in the pan.
Heat a little oil in a large frying pan or pot over medium-high heat.
Cook the meatballs in batches.
Do not try to squeeze all of them into the pan at once.
Overcrowding lowers the temperature of the pan and causes the meatballs to steam instead of developing that lovely golden crust.
Give them some room and turn them gently so they brown on several sides.
If the meatballs are going into a sauce afterwards, they don't necessarily need to cook completely through during this stage.
Brown them beautifully, remove them from the pan and let them finish cooking in the sauce.
This deserves its own section because it's one of my favourite little cooking tips.
Do not wash that pan.
All those golden-brown bits stuck to the bottom are flavour.
Make your tomato sauce or pasta sauce in the same pan and scrape those bits up as the onions or liquid are added.
Those browned bits dissolve into the sauce and give it far more depth.
That's exactly what I do when making my One-Pot Meatball Pasta.
Place the onion and slice of bread into a food processor or blender.
Pulse until finely chopped and well combined.
You are looking for a moist, finely textured mixture rather than large pieces of onion.



Add the beef mince, lamb mince or combination of both to a large bowl.
Add the onion and bread mixture, crushed garlic, dried oregano, garlic and herb seasoning, finely grated Parmesan, chilli flakes, salt and freshly ground black pepper.



Mix everything together until just combined.
Try not to overwork the mince.
Use an ice-cream scoop to divide the mixture into evenly sized portions.
Roll each portion gently into a ball.
If you have time, refrigerate the shaped meatballs for 15 to 20 minutes before frying.



Heat a little oil in a large frying pan or pot over medium-high heat.
Add the meatballs in batches and fry until golden brown on the outside.
Turn them gently so they colour evenly.
Remove the browned meatballs from the pan.
Use the same pan to prepare your sauce, scraping up all those flavourful browned bits.
Return the meatballs to the sauce and cook until completely cooked through.



Yes.
Arrange the meatballs on a lined baking tray and bake until browned and completely cooked through.
The exact cooking time will depend on the size of your meatballs.
Baking is particularly useful when you're making a large batch and don't want to stand over a frying pan.
The only thing you'll miss is those lovely browned bits in the frying pan for your sauce.
Yes.
Air-frying is another convenient option.
Arrange the meatballs in a single layer with some space between them so the hot air can circulate properly.
Cook in batches if necessary.
The exact cooking time will depend on the size of your meatballs and your air fryer.
The most reliable way to check meatballs is with a food thermometer.
When using beef or lamb mince, cook the centre of the meatballs to at least 71°C.
If you're finishing them in a sauce, simply allow them to continue cooking gently until they reach a safe temperature and are completely cooked through.
Once you've got a batch of homemade meatballs, there are so many ways to use them.
You can also serve them simply with roasted vegetables and a salad.
These meatballs are perfect for my One-Pot Meatball Pasta with Tagliatelle.
Brown them first and remove them from the pan.
Then make the pasta sauce directly in those browned meatball juices and bits.
Return the meatballs later and allow them to finish cooking in the sauce with the pasta.
It's such a simple dinner, but browning the meatballs properly first adds so much flavour.

Yes.
Shape the meatballs earlier in the day, cover them and keep them refrigerated until you're ready to cook.
You can also brown them ahead of time and finish them later in your chosen sauce.
This makes the recipe very useful when you're meal prepping or cooking for a larger group.
Yes.
Both raw and cooked meatballs can be frozen.
If you're freezing raw meatballs, arrange them on a tray first and freeze until firm.
Once frozen, transfer them to a freezer-safe container or bag.
Freezing them individually first stops them from sticking together in one large lump.
Cooked meatballs can also be frozen once they have cooled completely.
Add extra chilli flakes or some finely chopped fresh chilli.
Fresh parsley or basil can be added to the mixture.
Lamb mince gives these meatballs a richer flavour and works particularly well with the garlic and oregano.
Beef mince makes a classic homemade meatball that's perfect for pasta and tomato sauce.
If you love Parmesan, add a little more.
Just remember that Parmesan adds salt too, so adjust your seasoning accordingly.
The mixture may have been overworked or the meatballs may have been cooked for too long.
Mix gently, shape without compacting them too tightly and avoid unnecessary overcooking.
Make sure the onion and bread are finely blitzed and evenly distributed through the mince.
Chilling the shaped meatballs briefly before frying can also help them hold their shape.
Yes.
The recipe will still work, although you'll lose some of the savoury flavour that Parmesan brings.
Not in this recipe.
The bread and onion mixture helps bind everything together while keeping the texture tender.
I prefer browning them first.
That gives the meatballs better flavour and also creates those browned bits in the pan that make the sauce even better.
This is one of those basic recipes that becomes useful in so many different ways.
The garlic and Parmesan bring loads of flavour, while the onion and bread help keep the meatballs juicy.
Brown them properly, don't overcrowd the pan and whatever you do, don't throw away those delicious browned bits afterwards.
Then all you need to decide is whether they're going into pasta, tomato sauce, a meatball sub or straight onto your plate.
Once you have a good homemade meatball recipe, you've got the beginning of a lot of very good dinners.
Check out some of my other recipes. Click on the image to get the recipe.






Juicy homemade meatballs made with beef or lamb mince, garlic, Parmesan, herbs and a simple onion-and-bread mixture. Perfect for pasta, tomato sauce or meatball subs. Makes about 16 meatballs.
MINCE:
Use beef mince, lamb mince or a 50/50 combination.
DO NOT OVERMIX:
Mix the ingredients only until combined. Overworking the mince can make the meatballs dense and firm.
ONION AND BREAD:
Blitzing the onion together with bread helps distribute the onion evenly and keeps the meatballs moist.
PARMESAN:
Use finely grated Parmesan so it mixes evenly throughout the meat.
CHILLING:
Chilling the shaped meatballs for 15-20 minutes is optional but can help them hold their shape while frying.
FRY IN BATCHES:
Do not overcrowd the pan. Cooking in batches allows the meatballs to brown rather than steam.
USE THE SAME PAN:
Do not clean the pan after frying the meatballs. Use the browned bits left behind to build your sauce.
FINISHING IN SAUCE:
The meatballs do not need to be completely cooked through during browning if they will finish cooking in a sauce.