In a large frying pan (or pot) over medium-high heat, saute onion, garlic until aromatic. Add ground beef and chili powder and stir until beef is slightly cooked. Add remaining ingredients (less spaghetti). Reduce heat to low and simmer uncovered for 1 1/2 hours. Cook spaghetti per package instructions and transfer to individual bowls. Add chili and toppings.