In a bowl, place the shrimp and drizzle with 1 tablespoon of olive oil. Sprinkle paprika powder, cayenne pepper, salt, and pepper over them and toss until each shrimp is coated and ready for cooking.
Heat 1 tablespoon of olive oil in a large pan over medium heat. Once the oil shimmers, add the shrimp and sear for about 1–2 minutes per side until they turn pink and opaque. Transfer the shrimp to a plate to keep from overcooking.
In the same pan, add 2 tablespoons of olive oil and the diced onion. Cook over medium heat until the onion begins to soften, about 3–4 minutes. Stir in garlic, chili pepper, and red pepper flakes and cook until fragrant, around 1 minute.
Pour in the canned tomatoes with their juices and bring to a gentle simmer. Use a fork to break the tomatoes into chunks, season with salt and pepper, then cover and let the sauce cook for 15 minutes so flavors meld.
Meanwhile, bring a pot of salted water to a boil and add your pasta. Cook until it’s al dente, then scoop out a cup of pasta water before draining. This starchy water will help thicken the sauce.
Return the pan to low heat and stir in the basil leaves along with a splash of the reserved pasta water. Let the sauce simmer for 5 minutes so it thickens slightly and the flavors come together.
Add the cooked pasta and shrimp back into the pan, tossing until everything is coated in the sauce. Dish out onto plates and garnish with grated parmesan and extra basil leaves before serving.