Cook pasta in salted water to al dente, according to the package directions. Drain.
Preheat a large skillet (or dutch oven if you don't have a large enough skillet) over medium high heat. Cook bacon until crisp, stirring frequently. Remove bacon to a paper towel lined plate and set aside. Drain all but 1 to 2 Tablespoons of bacon drippings from pan.
Return pan to heat and cook ground beef in reserved drippings until browned. Use your spoon to break the beef into small pieces as you cook it. Once browned, stir in onions and garlic and cook until they are soft. At this point, season to taste with some salt and pepper.
Stir in the Worcestershire Sauce, hot sauce and beef stock and allow to heat through a few minutes while stirring and scraping up any browned bits on the bottom of the pan.
Add in the tomato sauce,fire roasted tomatoes and sugar and stir to combine. Allow this to completely heat through then once again check seasonings. Add additional salt, pepper or even hot sauce to taste.
Add in the cooked and drained spaghetti and about half the bacon to the sauce and mix together.
Top each serving with cheddar cheese, green onions and remaining bacon. Enjoy!!