Heat the oil in a big saucepan over a medium heat and soften the onion for 5 minutes. Add the carrots, celery and garlic and cook until soft, another 10 minutes. Turn up the heat, add the beef and brown, stirring, for about 5 minutes.
Add the tomatoes, tomato purée, Worcestershire sauce and stock. Bring to the boil, then simmer, covered, on a low heat for 30–40 minutes, stirring from ti