Stovetop: brown meat, onion, and garlic until the meat is done, drain.
Let meat cool and crumble. Add meat mixture to a large saucepan, add all of the dry ingredients, except for the bay leaf and stir to combine.
Once combined, add tomato paste, mix together well. Then add the rest of the wet ingredients and stir well.
Add bay leaf, bring to a boil, lower heat and simmer covered for 1 to 1 ½ hours, stirring occasionally. Remove bay leaf, add cooked spaghetti, and mix well.
Crockpot: Combine all of the ingredients except for bay leaf and meat. Mix well then add the bay leaf. Cook on low for 5 hours, stirring occasionally. Add the browned and crumbled meat of your choice. Cook for 1 more hour, add the cooked spaghetti.
Serve with your choice of cheese if desired and garlic bread.