Valentine’s Day flower markups can be as high as 250% at local florists. But while florists are marking things up this time of year, supermarkets and big box stores are marking flowers down.

Here are some of the best flowers you can buy locally or even have delivered nationwide.

How much are a dozen roses? A dozen roses cost $15 or less at Costco, Whole Foods and Trader Joe’s.


Whole Foods has two dozen roses for $19.99 — the best price anywhere.

Amazon Prime members save $10 on the retail price of $29.99 for two dozen roses. This price point is only $0.83 per rose and our favorite Valentine’s flower deal of 2021.

Last year, I had Whole Foods deliver Valentine’s Day flowers for free. Delivery for Prime members is free when you spend $35, and first-time-delivery orders will receive $10 off a $50 purchase.


Sam’s Club stores are selling 18 roses for only $15.98.

Sam’s Club stores have 18-count bouquets for $15.98. that’s $0.89 per rose and one of the best deals of the year. This deal is not available online.


A dozen roses at Trader Joe’s are $12.99.

Trader Joe’s is one store that doesn’t discount roses for Valentine’s Day. In fact, they inflate their regular $6.99 price between Feb 10-14 to $12.99, or $1.08 per rose.

Note for next year: Grab a dozen for $6.99 by Feb. 9 or skip the roses at TJ’s. But don’t think we’re hating on Trader Joe’s. . .


But Trader Joe’s double dozen tulips for $10.99 are selling now.

Hands down, the best deals on tulips you’ll see all year comes from Trader Joe’s every February, while supplies last. Get 24 stems for only $10.99. That’s an incredible deal.

Who wants roses when tulips are this cheap? I’m team tulips, all the way. Use that money you saved not buying roses and pick up some truffles please. XOXO

RELATED: 13 Places That Offer Free (or Almost Free) Food on Valentine’s Day


Walmart’s 3-Rose mini-bouquet $4.87 are arriving in stores now.

Walmart’s mini rose bouquets are expected in stores today. We expect a price point under $5 — your cheapest entry into the rose market, but not the cheapest cost-per stem ($1.62 each). Walmart’s price on dozens last year was $15.99.


Potted roses and calla lilies are $9.97 at Walmart.


Act early to get 50 roses for as low as $40 at

Order 50-stem roses for your Valentine from for $39.99. Choose from over 15 colors and color combinations at $0.80 per stem. The closest delivery date to Valentine’s Day has been early — Feb. 5 — and at that price, they sell out quickly. also has had Valentine’s Day 50-Stem Roses for $54.99. You can pick the arrival date between Feb. 9-12, which is closer to Valentine’s Day than the cheaper bundle. The last day to order for Feb. 12 delivery is Feb. 9 at 11 AM Pacific.


Target’s dozen roses deal sucks — $19.99 for one dozen.

In-store roses are expected to hit shelves around Feb. 7. Potted orchids for $29.99 and Valentine’s succulents starting at $7.99 are in stores now.


But, I’m ready to pay full price for these smooching succulents.

Fairly obsessed with the new potted Valentine’s succulents at Target. Good deal? Not really. Do I care? Nope. These are available in-store only.


CVS takes the crown for worst Valentine’s roses deal — $12.99 for half dozen.

CVS doesn’t carry roses until about two days before Valentine’s day. And they’re a terrible deal, even if you have Extra Bucks from couponing at CVS.


UP NEXT: The Krazy Coupon Lady’s Best Money-Saving Tips


Where to Buy Valentine's Day Flowers For Cheap