This post may include affiliate links; see our disclosure policy.
This skillet pesto salmon is a one-pan weeknight dinner ready in 30 minutes and full of bold flavor! Fresh tomatoes cook down into a jammy sauce, finished with a swoop of vibrant pesto.

Here’s an easy dinner recipe that I am obsessed with because it’s so full of flavor and feels so fancy, so it works for weeknights and date nights!. The idea came from Alex, who spotted a TikTok trend of steaming whole tomatoes in a skillet with onions and garlic. The tomatoes collapse into a jammy sauce at the bottom of the pan and it really is as good as it looks.
It takes only 30 minutes, one pan, and it tastes like you put in way more effort! For the pesto, I love using my pistachio pesto, a recipe I developed after my parents came back from a trip to Sicily raving about the stuff. But honestly, any homemade pesto will work!
Why You’ll Love This Recipe
- Ready in 30 minutes. This recipe fits into any busy weeknight rotation if you make the pesto in advance.
- Extremely delicious. Like, extremely. The fresh tomatoes break down into a jammy, savory sauce that keeps the salmon moist and interesting versus dried out in the pan.
- Mediterranean diet-friendly. Olive oil, wild-caught salmon, fresh tomatoes, herbs: this is everything Mediterranean diet.
5 Star Reader Review
⭐⭐⭐⭐⭐ “We made the salmon for dinner tonight, such an easy recipe. I loved how you used simple fresh ingredients. The tomato sauce was lovely! The salmon was beautifully cooked. The sauce and pesto gave it enough flavor. And the pistachio pesto is incredible: it’s so flavorful and bright and dreamy! Perfect with the sauce and salmon.” -Tanvee
What You’ll Need
Here’s a quick look at the key players in this recipe:
- Salmon fillets: I like wild-caught salmon when I can find it: the flavor is better and it’s a more sustainable choice. You can use 1 to 1½ pounds depending on what you can find (I like using more, usually).
- Ripe tomatoes: You want medium ripe tomatoes: heirloom or vine tomatoes work well. The riper they are, the better the flavor.
- Homemade pesto: I love pistachio pesto here for its rich flavor: I highly recommend it! But a classic basil pesto is equally delicious. Either way, I love using homemade pesto, though you can use jarred in a pinch. (For more ways to use up a jar, see my 20 Best Recipes with Pesto.)
- Smoked paprika and onion powder: These simple spices season the salmon perfectly.
- Olive oil, white onion, and garlic: These form the foundation of the sauce.
Tips for the Best Skillet Pesto Salmon
Use an oven-safe skillet: cast iron is ideal. This recipe moves from stovetop to oven, so you need a pan that can handle the heat. My cast iron skillet is my first choice here; it retains heat well and gives the tomatoes a nice sear. If you don’t own one, a stainless steel skillet works too.

Let the sauce cook down before adding the fish. This uses a technique that’s been trending on Tik Tok where you add tomatoes to a skillet with onion, steam the tomatoes, and then remove the skins before mashing everything into a sauce. See above for what it looks like before you smash the tomatoes!
Watch your bake time carefully. Salmon can get overcooked fast. Start checking early for thin fillets; thicker pieces may need 15 or more minutes. I pull mine when the internal temperature reads 125°F, which is medium.
Make the pesto ahead. The smashed tomato sauce can be made up to 2 days in advance and stored in the refrigerator. When ready to cook, just reheat it in the skillet and add the seasoned salmon. This turns an already-fast recipe into a nearly instant one.
Pesto Choices
I love this skillet pesto salmon with pistachio pesto – it was inspired by my parents visit to Sicily where they had a pistachio pesto pasta! To make it, here’s what to do:
- ½ cup roasted salted pistachios (this is important for flavor)
- 1 small garlic clove
- 1 large handful fresh basil leaves
- ¼ cup grated parmesan cheese
- ¼ cup olive oil
In a food processor, pulse the pistachios and garlic until crumbly. Add the basil and pulse a few times to incorporate. Add the parmesan, turn on the food processor, and slowly drizzle in the olive oil through the feed tube, adding up to 1 tablespoon more and scraping the sides as necessary until the desired texture is reached.
As alternatives, basil pesto, arugula pesto or a kale pesto all work. For dairy-free, make my vegan pesto.

Ways to Serve This Skillet Salmon
It’s nice to add a simple grain and a salad to make this a meal! Here’s what you’ll need:
- Over lemony rice or farro: A heartier base that turns leftovers into a proper grain bowl the next day.
- Over orzo or couscous: These both cook quickly.
- With a simple salad: My arugula salad and apple salad are nice fresh contrasts
- With crusty artisan bread: For scraping up every last drop of sauce!
Variations & Substitutions
- Swap the fish. Tilapia, halibut and cod would also work here; just adjust the cook time based on thickness.
- Add greens to the sauce. Before adding the salmon, stir a few large handfuls of baby spinach or arugula into the tomato sauce. It wilts down and adds color and nutrition.
- Make it dairy-free. Most store-bought pestos contain Parmesan: look for a vegan pesto option if necessary.
- Turn up the heat. Add a pinch of red pepper flakes or a tablespoon or two of jarred Calabrian chilis.

Storage & Reheating
Leftovers store in an airtight container in the refrigerator for up to 2 days. To reheat, warm gently in a skillet over medium-low heat. Store pesto separately in a refrigerated container up to 1 week.
Dietary Notes
This skillet salmon recipe is gluten-free, dairy-free (with a dairy-free pesto), and fits into a Mediterranean diet or pescatarian eating plan.
Skillet Pesto Salmon
This skillet pesto salmon is a one-pan weeknight dinner ready in 30 minutes and full of bold flavor! Fresh tomatoes cook down into a jammy sauce, finished with a swoop of vibrant pesto.
- Prep Time: 10 minutes (Not Including Pesto)
- Cook Time: 20 minutes
- Total Time: 30 minutes
- Yield: 4 1x
- Category: Dinner
- Method: Baked
- Cuisine: Mediterranean, Mediterranean Diet
- Diet: Dairy-Free, Gluten-Free, Mediterranean Diet, Pescatarian
Ingredients
- 4 medium ripe tomatoes, stem ends sliced off
- 2 tablespoons olive oil
- ½ white onion, diced
- 3 garlic cloves, minced
- 1 teaspoon kosher salt, divided
- 1 to 1½ pounds wild-caught salmon fillets
- 1 teaspoon smoked paprika
- 1 teaspoon onion powder
- ½ cup pistachio pesto (see Notes) or basil pesto
Instructions
- Preheat the oven to 400°F. Allow the salmon to come to room temperature
- Heat a large oven-safe skillet over medium heat. Add the olive oil and the tomatoes, placing them cut side down. Add the diced onion to the center of the pan and cover tightly. Cook until the tomato skins soften, about 6 to 8 minutes, then use tongs to peel away and discard the skins. Add the minced garlic to the pan over the onions and stir once, then cover and cook for 1 minute more, until the garlic is fragrant and golden. Uncover and mash the tomatoes with a potato masher until saucy, then stir in ¼ tsp kosher salt. Cook the sauce for 3 minutes.
- Pat the salmon fillets dry and season the top with ½ to ¾ teaspoon kosher salt (depending on 1 to 1 ½ lbs), smoked paprika, and onion powder. When ready, nestle the fillets into the tomato sauce in the skillet, then transfer the pan to the oven. Bake for 10 to 15 minutes, depending on the thickness, until the salmon reaches an internal temperature of 125°F (or a few minutes more if the salmon doesn’t come up to temperature; see Notes).
- Remove the skillet from the oven and spoon the tomato sauce over the salmon. Top each fillet with a dollop of pesto and serve immediately.
Notes
- Use an oven-safe skillet. Cast iron is ideal here since the recipe moves straight from stovetop to the oven. If you don’t have one, transfer the sauce and salmon to a baking dish before baking.
- Broiling: I like broiling the salmon here for an even quicker option, but I had one recipe tester who had issues burning the seasonings on the top with very thick salmon. For broiling, preheat a broiler to High with a rack about 6 inches from the heating element. Broil 4 to 5 minutes for very thin salmon or 7 to 10 minutes for 1-inch thick salmon, until it’s just tender and pink at the center.
- Swap the pesto. Arugula pesto or a kale pesto all work. For dairy-free, make my vegan pesto.
- Make it a meal. Serve over orzo, lemony couscous, or with lemon rice. Crusty sourdough bread is great for soaking up the sauce.
- Try a different fish. Tilapia, halibut, or cod fillets all work well; just adjust the broil time based on thickness.
- Stir in greens. Wilt a few handfuls of baby spinach or arugula into the tomato sauce just before nestling in the salmon.
- Make ahead. The smashed tomato sauce can be made up to 2 days ahead and stored in the refrigerator. Reheat in the skillet before adding the salmon.



This was quick and easy. The flavor of the sauce is very good. I think next time I will make the sauce a day ahead. We served it with crusty bread. I’m not a huge fan of salmon but this recipe really makes it tasty.
I made this tonight in a Dutch oven instead of a skillet and it was amazing. This recipe is going into our regular rotation. The pistachio pesto is worth the extra effort (but super easy). I served with orzo. Easy enough for a weeknight dinner and nice enough for company.
Amazing! I am SO glad you enjoyed it. This sounds like the perfect meal thank you for trying it!!!
Hi Sonja,
I would love to make the Skillet Pesto Salmon especially with the Pistachio Pesto but I have a quick question. I don’t have an oven skillet but I do have a Dutch Oven 14 inch pot…so I know it can go from the stove to the oven but how will the Salmon cook time change or does the oven need to be hotter since it takes the Dutch oven pot to heat up? If that won’t work I can transfer the the sauce to a baking dish and then place the Salmon fillets in and then cook them that way. Thanks for any advice you can give.
BTW, love your recipes!
Ninad
Ninad — thanks for the question! You can definitely saute the sauce in a skillet and then transfer the sauce to a baking dish before you put it in the oven! You may need to cook the salmon one or two minutes longer. Let me know how it goes!
I made the salmon for dinner tonight, such an easy recipe. I loved how you used simple fresh ingredients. The tomato sauce was lovely! I did need closer to 10 minutes before the tomatoes were soft enough to mash, so probably they weren’t as ripe as I thought they were.
The pesto is incredible. I’m so glad I decided to make it and not just use a jarred version. It’s so flavorful and bright and dreamy! Perfect with the sauce and salmon.
Ahhh I’m so glad you made it and loved it! This is one of my favorite new recipes so I’m excited you tried it and it was a hit :)