Heat the oil and butter in a large skillet or saucepan.
Add the onions, celery, carrots and bacon and fry them together for 5 minutes, stirring once or twice.
Stir in the garlic and ground beef and cook,until the meat is no longer pink. Lower the heat and continue cooking for a further 10 minutes, stirring occasionally.
Increase the heat to medium, stir in the tomato paste and flour, and cook for 1 or 2 minutes.
Stir in the tomatoes and beef stock, and bring to a boil, stirring.
Season the sauce with salt, pepper and Italian seasoning.
Cover, and simmer for 45 minutes, stirring occasionally.
Let the sauce reduce, then pour over freshly cooked pasta.