Heat 2 tablespoons olive oil in a large saucepan over high heat until hot. Use your hands or a fork to break the ground meat into large chunks and add it to the saucepan. Sear for 3-4 minutes. Use the fork to flip the pieces and brown for 2 more minutes. Transfer the meat to a big bowl or plate and set aside.
Pour the remaining 2 tablespoons olive oil into the same saucepan until hot. Add the onion and the garlic until fragrant. In the last 2 minutes, add the cinnamon stick, bay leaf, allspice, and pepper.
Return the meat to the pan, and use the fork to break it up. Stir until all the ingredients are well combined.
Make a small well (nest) in the center of the saucepan and stir in the tomato paste. Sauté for 1-2 minutes.
Add the tomatoes, sugar, salt and pepper to taste. Stir well and pour in water or broth. Once it comes to a boil, reduce the heat to low-medium and simmer for 30 minutes.
In the last 10 minutes, cook the spaghetti according to package instructions, drain, and toss with olive oil. (Don't forget to salt the water well)
When ready, fish out the cinnamon stick (if used), the bay leaves, and allspice berries (optional, don't worry if you cannot find them) and set the saucepan aside.
Place a layer of grated cheese (kefalotiri or mizithra or parmesan) on a plate, followed by a portion of pasta. Add more cheese, another layer of pasta, and spoon over the meat sauce. Top with more grated cheese, if you like.
Serve immediately.