This post may contain affiliate links, see my Privacy Policy and Disclosure Statement
This Tuscan Fish with Cannelini, Tomatoes, and Spinach is a quick, healthy, and delicious way to prepare inexpensive fish fillets! With fresh rosemary, garlic, and crushed red pepper, this Tuscan fish recipe packs loads of bold flavor in a one-dish meal that comes together in about 30 minutes.

Jump to:
Vices are sometimes only virtues carried to excess.
~~Charles Dickens, Dombey and Son
👩🏻🍳 Tamara Talks - About Healthy Sustainable Fish
'Tis the season of excess, and many of us are feeling the after-effects of overspending and overeating... maybe even over drinking 😉 After all, "vices are sometimes only virtues carried to excess." Charles Dickens was a very wise man! In other words, many of us enjoyed too much of a good thing, and now it is time to forge ahead with healthier eating, more consistent exercise, and a budget.
Eating more fish can be a great way of addressing both your budget and dietary concerns. Purchasing fish need not be a "budget buster." Many inexpensive options are now available. Living in landlocked New Mexico, we don't have access to fresh fish options. However, flash-frozen varieties are readily available.
I have found membership warehouse chains such as Costco and Sam's Club to be excellent sources of inexpensive, good-quality flash frozen fish. I purchase tilapia, cod, and flounder on a regular basis.
While I do splurge on tuna and sea bass occasionally (for a price 🙂 ), my weekly meal planning relies heavily on these affordable fish species. In addition to affordability and health considerations, I prefer sustainable and environmentally sound choices. Monterey Bay Aquarium Seafood Watch is an excellent resource for making well-informed selections when purchasing fish.
The site includes a search engine for an extensive listing of fish species and fisheries with recommendations based on how well the fishery is managed, method of catch/farming, location, subspecies, market names, etc. 2017 update: My "go to" frozen fish choice is barramundi.
This recipe comes together very quickly, making it a great choice for weeknights. If you've been following my blog, you know I am a firm believer in a "well-stocked pantry," and I always have several types of canned beans on hand, including cannelini. I consider my freezer to be part of my "pantry," and I keep the fish fillets on hand as well.
I am never without good quality petite diced tomatoes. I buy the large tub of organic fresh baby spinach at Sam's Club on a weekly basis. It keeps well in the refrigerator for a week. The balance of the ingredient list is always in my pantry, so I am "off to the races."
I can complete this dish in 30 focused minutes! "Focused" is a qualifier when I cook as I fight a losing battle with ADD at times, and, I love a glass of wine while I cook 😉 .
🥘 Things to Love About this Tuscan Fish Recipe
- It's quick. This healthy fish recipe can be on your table in 30 minutes!
- It's Gluten free.
- It's relatively low carb (beans are fiber-rich and okay on a low carb diet).
- It's healthy and well-balanced with 488 calories, 49 g protein, 50 g carbohydrates, 11 g fat.
📋 Ingredients for Tuscan Fish
Here is a quick look at the ingredients in the recipe – it’s handy to use at the grocery store or as a summary of what you need. Skip to the recipe for quantities.
- olive oil
- onion
- garlic
- crushed red pepper - Crushed red pepper is spicy, so proceed carefully. I use 1 teaspoon.
- fresh rosemary - I really haven't found a substitute that I like as well. You can substitute dried rosemary, but cut to about ⅓ of the amount.
- petite diced tomatoes - They don't have to be petite, but that's what I prefer to use.
- cannelini beans - This quick and easy fish dish recipe starts with cooked beans. You can use either rinsed and drained or completely cooked from dried beans. If you can't find cannelini, substitute any white bean.
- baby spinach - Substitute young greens for quick cooking or kale or chard by simmering until tender.
- sea salt and fresh ground pepper
- firm white fish - My preference is barramundi, but I have not been able to find it lately. You can use tilapia, flounder, sea bass, cod, etc.
- lemon
- fresh parsley and lemon to garnish
🔪 Cooking Instructions
- Mis en place - Gathering your ingredients and equipment before beginning allows you to cook more efficiently, and makes less mess. A large sauté pan and a deeper covered skillet or dutch oven should get the job done.
- Prepare the tomatoes and beans - Sauté the garlic and onion in olive oil, add the crushed red pepper and rosemary (if using,) and stir until onions are translucent. Add the tomatoes in their juice, and the beans. Cover the pan and let the mixture simmer while you prepare the fish.
- Prepare the fish - To a sauté pan on medium-high heat, add the olive oil and the remaining garlic. Add the seasoned fish fillets to the pan. Watch the fish carefully as over-cooked fish is not tasty. Lift the edge of the fish fillets, and when they are golden brown, carefully turn the fillets. When fish is cooked, season with salt and pepper, and keep warm until the beans, tomatoes, spinach mixture is ready to serve.
- Finish the dish - After turning the fillets, add spinach to the pot with the beans and tomatoes, and give it a good stir. Return the lid to the pot for an additional 1-2 minutes until spinach is wilted.
- To serve - In a shallow bowl or plate with an edge (it's saucy), plate the beans mixture. Top with a fish portion, and garnish with lemon wedge and fresh herbs as desired.
❓ FAQ
What kind of fish is best for this Tuscan fish recipe?
I have used tilapia, barramundi, snapper, sheepshead, and farm-raised catfish successfully. Any firm, mild white fish will work.
Do you prefer using dried cannelini beans?
Cook them ahead and freeze in 2 cup portions.
💭 Tips
- Quick thaw by placing frozen fillets in a deep bowl filled with water.
- Gathering ingredients and equipment beforehand will save time.
- Substitute young greens for quick cooking or kale or chard by simmering until tender.
- Use fresh spinach. Wilted fresh spinach makes this dish special. Frozen spinach is not a good substitute.
- Choose your cookware wisely. You will need a large saute pan for the fish to allow for turning. The spinach takes up a lot of space in a pan/pot prior to wilting. A dutch oven works well.
- Pre-minced garlic in a jar is a great time saver!
Keeping cannelini beans, petite diced tomatoes, minced garlic, crushed red pepper, and olive oil in your pantry, frozen fish fillets in your freezer, and fresh spinach in your refrigerator will allow you to whip up this healthy fish dish regularly. It's a favorite at Andersen casa!
Tuscan Fish with Cannelini, Tomatoes, and Spinach
Ingredients
- 2 tablespoon olive oil - divided
- 1 medium onion - chopped
- 2 teaspoon minced garlic - divided
- ½ teaspoon crushed red pepper - to taste (it's spicy!)
- 2 teaspoon fresh rosemary - finely chopped
- 2 - 15 ounce cans cannelini beans - rinsed and drained
- 10 ounces fresh baby spinach leaves - washed and dried
- salt and pepper - to taste
- 1.5 pounds firm white fish - 4 fillets patted dry and seasoned with salt (see notes) and pepper
- fresh parsley and lemon to garnish
- 1 lemon - juiced
Instructions
- In a very large, deep skillet with a lid or a dutch oven, heat 1 tbsp. olive oil. Add onion and 1 tsp. garlic. Saute until onion is translucent. Be careful to not burn the garlic.
- Add crushed red pepper and rosemary. Stir.
- Add diced tomatoes and cannelini beans. Stir. Cover the pan, and reduce heat to simmer while cooking the fish.
- In a large saute pan on medium-high heat, add remaining tablespoon olive oil and the remaining teaspoon of garlic. Give it a good stir. When garlic is sizzling, add fish fillets to the pan.
- After a couple of minutes, lift the edge of the fish. When the fish shows some browning, and beginning to become opaque white on the top, carefully turn the fish using a spatula.
- While fish cooks on the second side, add fresh spinach to the bean and tomato mixture. Give it a good stir, and replace the lid. Turn off the heat. Allow the spinach to wilt. Check for seasoning. Stir to combine.
- Squeeze the fresh lemon juice over the cooked fish fillets.
To serve:
- Divide the cannelini bean, tomato, spinach mixture among 4 plates or large shallow bowls. You need a little bit of a lip to confine the juices.
- Top each with a fish fillet, and garnish with parsley and a wedge of lemon if desired.
Nutrition
NOTE: Macronutrients are an approximation only using unbranded ingredients and MyFitnessPal.com. Please do your own research with the products you’re using if you have a serious health issue or are following a specific diet.
Miles says
Thanks for the great information for us.
Best regards,
Thompson Zacho
Fannie says
Absolutely delicious! This recipe is easy and was well received with my husband. Used cod instead of the talapia, loved the flavor.
Tamara says
Thank you for taking time to provide feedback! I'm so glad you liked the recipe! It's definitely a regular at house because it's healthy, flavorful, and so easy to whip up. Thanks again!
Cathleen @ A Taste of Madness says
This looks so good!! I rarely cook fish, but seriously I don's know why.. It is so easy to make, and you get dishes looking like this!!
Tamara says
I think a lot of people had a bad experience with improperly cooked or spoiled fish, and they just can't go back to it... I would rather have a fish dish than just about anything else!
Mark says
Quick, easy, delicious, nutritious. Great recipe!
Tamara says
I think this qualifies as a "go to" recipe?
Jill says
Well this is going into our regular dinner rotation. After cleaning up our dishes I immediately texted this recipes to all my friends and family. My husband and I loved it (he wants it again tomorrow) even my picky 7 year old took his first bite of fish based off the delicious aroma that filled my kitchen. It reminds me of a Marocan fish dish I make but this blows it out of the water! So excited to have found your site- i can't wait to try more of your recipes!! What's your favorite??
Tamara says
Thank you for taking the time to send feedback Jill! You've made my day 🙂 I'm so glad you liked my Tuscan fish dish!