Bring a large pot of salted water to a boil.
Cook spaghetti until al dente. Reserve 1/2 cup pasta water and drain.
Crisp the bacon in a large skillet over medium heat. Transfer to a plate.
Pour off excess fat, leaving about 1 tablespoon in the pan. Add olive oil if needed.
Brown the ground beef over medium-high heat, breaking it up as it cooks. Season with salt and pepper.
Stir in onion and cook until softened, about 4 minutes. Add garlic and cook 30 seconds.
Mix in tomato paste and cook 1 minute, stirring to coat the beef.
Add crushed tomatoes, broth, Worcestershire, hot sauce, paprika, and chili powder. Simmer 10 minutes.
Toss spaghetti with the sauce, adding a splash of pasta water to loosen as needed.
Fold in half the bacon and half the cheddar until melty.
Serve topped with remaining bacon, cheddar, green onions, and jalapeño if using.