Cook the pasta al dente (it should have a bite to it) according to the package instructions.
Finely chop the onions and garlic. Peel the tomatoes and chop them finely, discard any excess water on the chopping board.
Heat 1 tablespoon of olive oil in a big frying pan and add the onions, cook over medium heat for about 4-5 minutes or until soft and translucent. Add the garlic, basil, cinnamon, and cayenne pepper and cook for 1 more minute.
Move the onions and spices to the side of the pan, add another tablespoon of olive oil, set the heat to high and add the meat in an even layer. Let it cook for about 1 minute without stirring, letting the meat to brown, then stir and mix with the onions and spices. Cook, stirring, until the meat is cooked through (no longer pink).
Add the Worcestershire sauce, cook for 1 minute.
Add the chopped tomatoes. Cook over medium or medium-high heat for about 15 minutes until the tomatoes form a sauce (the sauce will be a little chunky). You can cook the sauce over high heat if your sauce is too watery. Season the sauce with salt and pepper to taste.
Toss with the cooked spaghetti pasta. Serve sprinkled with grated Parmesan cheese.