Cook the pine nuts in a small skillet over medium-high heat for about 1 minute.
To make the pesto, place the basil, pine nuts, garlic, lemon juice, and parmesan cheese in a food processor and blend.
While the mixture blends, drizzle the olive oil through the feed tube.
Place the pesto in a bowl, season with salt and pepper and set aside.
Heat some oil and butter in a large skillet over medium heat and cook until the butter melts completely.
Place the onions in the skillet and cook for 3 minutes or until translucent.
Add the shrimp to the skillet, season with salt, pepper, and chili powder.
Cook the shrimp for about 2 minutes on each side then add the pesto to the skillet.
Cook the pesto along with the shrimp for about 1 minute.
Once the pesto is nice and hot, add the heavy cream.
Add the tomatoes and cook for 15 seconds.
Stir in the spaghetti and mix until the spaghetti is well coated with the pesto.
Serve with extra parmesan cheese and enjoy!