In a large frypan over medium heat cook bacon until crisp. Remove from pan, break into 1cm pieces and set aside. Drain bacon grease and return pan to heat. Saute onions over medium heat until tender. Stir in garlic and cook 1 minute more. Stir in bacon and tomatoes. Cover, reduce heat and simmer 15 to 20 minutes.
Meanwhile, bring a large pot of lightly salted water to a boil. Add pasta and cook for 8 to 10 minutes or until al dente; drain.
Stir basil, oregano and parsley into tomato sauce. Add salt and pepper to taste. Cook 5 minutes more. Toss with hot pasta. Top with grated Parmesan cheese when serving.