Heat the oil in a large frying pan and cook onion until golden brown. Add the meat and cook for a further 5-10 minutes. Add the tomato puree, herbs, Marmite, Worcestershire sauce and flour. Cook over the heat for 2-3 minutes. Transfer to a saucepan and add the chopped tomatoes, water or meat stock, cover and allow to bubble gently for 45 minutes, stirring occasionally.
Meanwhile, cook or steam the potatoes in a pan of water for 20-25 minutes or until soft. Add the chopped carrots to the potatoes for the last 10 minutes of cooking. Drain well and return to the pan. Mash the potatoes with the carrots and add the warm milk and the butter, and beat until fluffy and smooth.
Preheat the oven to 180°C (350°F) mark 4. Put the meat mixture into an ovenproof dish or individual freezer dishes. Top with the potato and carrot mixture and sprinkle with the Red Leicester cheese, decorate with a sprig of rosemary. Cook for 35-40 minutes or until golden and bubbling.