Heat the oil in a frying pan and add the onion, cook for 4-5 mins over a low heat, then stir in the garlic. Leave to cool completely.
To make the tomato sauce, heat the oil in a saucepan and fry the onion, carrot and celery for 3-4 mins, then add the garlic and cook for a minute. Add the passata and bring to a simmer, then season and cook for 5 mins.
Heat oven to 180C/160C fan/gas 4. Mix the cooled onion with the tomato purée, mince, egg and breadcrumbs, and season. Line a 900g loaf tin with a liner or baking parchment and pack in the meatloaf mixture. Cook for 20-25 mins or until a skewer poked into the centre feels roasting hot when pulled out. Leave to rest for 10 mins before lifting out of the tin.
Serve slices of the meatloaf with some tomato sauce spooned over. Wrap any remaining meatloaf and use it as a sandwich filling for a lunchbox. Can be frozen for up to a month.