In a pot over medium heat, bring salted water to a boil. Add spaghetti and cook according to package directions for about 8 to 10 minutes or until firm to bite. In a colander, drain well.
In a pot over medium heat, add olive oil and butter. Heat until butter begins to melt.
Add onions and cook, stirring occasionally, for about 3 to 5 minutes or until softened and begins to slightly caramelize. Add garlic and cook for about 30 to 40 seconds or until aromatic.
Add Italian sausage and cook, breaking into pieces with back of the spoon, until lightly browned. Drain excess fat as needed.
Add vodka and cook for about 2 to 4 minutes or until reduced by half.
Add chicken stock and crushed tomatoes. Bring to a boil. Lower heat and simmer, stirring occasionally, for about 8 to 10 minutes or until meat is fully cooked and sauce is reduced. Season with salt and pepper to taste.
Add heavy cream and stir to combine. Continue to simmer for about 3 to 5 minute or until sauce begins to bubble. Remove from heat.
Divide spaghetti onto serving plates. Ladle sauce on top and garnish with basil leaves. Sprinkle with shaved Parmesan cheese, if desired.