Preheat the oven to Gas mark 8, 230ºF (450ºF). Heat half the oil in a frying pan and sauté two-thirds of the onions and celery for 5 minutes until softened. Stir in the cumin and coriander and cook for another minute, stirring.
Tip the onion mixture into a bowl and add the minced beef, egg, breadcrumbs and thyme. Using your hands, mix well to combine and then mould into a rugby ball shape. Place in a small ovenproof dish and put in the oven. Reduce the oven temperature to Gas Mark 6, 200ºC (400ºF), and roast for 45 minutes.
Meanwhile, make the sauce. Heat the rest of the olive oil in a frying pan and sauté the remaining onions and celery with garlic, sage and chilli for about 5 minutes until softened but not coloured. Season generously. Stir in the tomatoes and bring to the boil, then reduce the heat and simmer gently for 10 minutes until slightly reduced and thickened. Fold in the cannellini beans.
Remove the meatloaf from the oven and drain off the excess fat, then spoon around the tomato sauce. Lay the slices of bacon over the top of the meatloaf and return to the oven for another 10-15 minutes until the bacon is golden brown and the cannellini beans are bubbling.