Heat 1 tablespoon of olive oil in a large heavy-based skillet over medium-high heat. Add the ground beef, and brown for 8-10 minutes, using a spoon to break it up as it cooks.
Remove the browned beef and set aside.
Drizzle the remaining tablespoon of olive oil in the pan. Add the onions, garlic, carrots, and celery, and sauté for 5 minutes.
Return the ground beef to the pan, along with the tomatoes, tomato paste, Worcestershire sauce, Italian herbs, beef stock, and a pinch of salt and pepper. Stir well. Bring to a boil; then reduce the heat and let simmer for 1 hour. Stir the sauce occasionally, and use your spoon to break up the whole tomatoes. If the sauce is too thick, pour in a little more water or beef stock.