When you’re trying to figure out where to buy cheap flowers, the biggest tip I can offer you is to skip the local florist. Shop at grocery stores instead. Especially for roses. When I look up my favorite florist in town, I see that red roses are $50 per dozen. That’s $4.17 per stem! If you know how to make your flowers last longer, you can keep them beautiful for at least as long as the florist can.
And when you know where to buy cheap flowers, it can only mean one thing: money saved is money you can spend on wine or chocolate to go along with your flowers. Trust me, your special someone will love that.
Note offers, prices, and colors may vary by region or store.
Check out these other ways to save on flowers:
Where to Find Roses the Cheapest for Valentines Day 2024
We can all admit that roses are timeless and incredibly popular. Most grocery stores sell roses, and instead of paying upwards of $50 for a dozen roses at a local florist, aim to pay more like $0.80 – $1 per stem when you buy from grocery stores. (Yes, that’s like 80% cheaper.) Here's the cheapest and the most expensive place to buy roses:
Winner: Costco, $0.79 per stem
Loser: Edible Arrangements, $5 per stem
Costco offers the cheapest roses when you buy them in-store: two dozen for $18.99 (less than Costco’s bulk price).
At $0.79 per rose, you’re getting these flowers even cheaper than buying in bulk from Costco.com, where they’re $1.30 per stem when you buy 50. Of course, there may be other reasons to order online (like convenience or you need so many the store cannot accommodate you), but price shouldn’t be one of them. See all Costco deals.
Walmart roses are $9.97 per dozen.
Walmart’s prices are the same as Trader Joe’s at $9.97 per dozen roses. But that’s where the similarities end. Unless it’s a holiday like Valentine’s or Mother’s Day, Walmart’s rose selection is a bit weak, and some bouquets were even quite wilted the last time we checked in-store prices.
You could also go with the mini 6-rose bouquet at Walmart. They’re $4.97, which of course is cheaper than a full dozen, but the price per rose, $0.83 is the same if you buy the dozen. See all Walmart deals.
Trader Joe’s has a dozen roses for $9.99, but watch for $8.99 the week before Valentine's Day.
At just $0.83 per rose, Trader Joe’s offers Walmart-like prices. Plus, the roses are in good shape, and there’s a vast selection. Trader Joe’s is my pick if you want the classic 1-dozen roses. Watch for them to knock their dozen-roses price down to $8.99 the week leading up to Valentine’s Day. The only hitch is you need to be ready to buy them early. The deal ends typically by Feb. 10.
Buy cheap bulk roses for as low as $0.83 each at Sam’s Club.
Wedding flowers? Just want to surround yourself with roses? Perhaps a bed of them? I get that. Shop at Sam’s Club for the best cheap bulk roses. You’ll have to buy roses in batches of 150 stems to get this price, but they come out to just $0.83 per rose. You can also go with 100- or 50-count bulk roses, for $0.89 or $0.98 per stem, which is still cheaper than Costco’s bulk flowers price. See all Sam’s Club deals.
Get roses for $1 each at Kroger.
Kroger sells a dozen roses (single color and mixed) for $12. That’s an even $1 a stem, making them competitive with the warehouse stores.
Amazon Prime Members can get two dozen roses for $24.99 at Whole Foods.
Right now, a dozen roses will cost you $19.99 at Whole Foods. However, between Feb. 7 – 14 Amazon Prime members can get two dozen for $24.99. To get the discount you need to swipe your Whole Foods or Amazon app during checkout. If you're enrolled in Amazon One, simply hover your palm over the reader during checkout to apply the discount.
With your Prime member discount you'll be able to snag a bouquet of single-color roses for about $1.04 per flower versus their current price of $1.67. So, for an extra $5 over the standard price you'll get a second dozen.
Go with two fresh half-dozen rose bouquets at Meijer for $1.17 per rose.
At Meijer you can grab a fresh bouquet of six roses for $6.99 or a dozen roses for $14.99. Unless the dozen goes on sale for Valentine's Day, opt for two six-count bouquets since they are only $1.17 per stem. That's $0.08 cheaper than the $1.25 you'll pay if you go with the dozen.
Costco bulk roses cost $1.30 per stem.
Our second Costo deal for roses will cost you $0.51 more a stem than their $18.99 for two dozen roses which took top place on our list for lowest price.
Whole Foods sells a dozen roses for $19.99.
At a higher price point ($1.67 per rose) you’re still paying about a third of the price you’d pay at a florist. Of course, you could go with the cheaper options (Costco or, TJ’s), but there’s no shame in buying Whole Foods roses, even if they’re more expensive than say Costco or Trader Joe’s. Think of what you’d be paying FTD! See all Whole Foods deals.
Get roses for as low as $2.39 each when you order from Rose Farmers.
RoseFarmers.com offers several Farmer's Choice Bouquets ranging in price from $64.88 (12 roses) to $11.88 (48 roses). At $2.39 per rose, the largest bouquet is the best price (does not include shipping, which varies).
Enjoy up to 20% off Mixed Roses at ProFlowers.com
Right now, you can save up to 20% off Mixed Roses at ProFlowers.com. At $3.33 a stem, these are the third most expensive on our list.
Benchmark Bouquets offers fresh roses with free overnight delivery for Prime members.
For $3.66 per rose you can gift a fresh bouquet overnight. Prime members can get free overnight delivery (Tues. - Fri.) on Benchmark Bouquets when you order through Amazon.
Watch for a discount code to save on Edible Arrangements roses.
A dozen roses at Edible Arrangements will cost you $59.99, or $5 per flower. Watch for promo discount codes so you can get your roses way cheaper. We saw a recent promo code for 50% off if you picked up the flowers in-store. You can get free delivery on most orders, including select Valentine's Day bouquets.
Where to Buy Cheap Flowers: Non-Rose Fresh Bouquets
If you don’t want roses, you still have some affordable options. Lots of grocery stores sell random assortments of flowers, and these are often seasonal. So you’ll see a lot of mums mixed in during the fall, Christmas colors and greenery during winter, and wildflowers in the spring.
Grab a no-frills fresh bouquet at Aldi's for $4.99 each.
Look for fresh bouquets to show up in Aldi stores the beginning of Feb. At $4.99, these bouquets are way cheap, but don't expect anything fancy. These would make a great Valentine's Day gift for anyone who enjoys the simple things.
Trader Joe’s offers the most variety and low prices.
You can choose from three different sizes of bouquets at Trader Joe’s. Prices range from $6.99 for the smallest to $9.99 for the medium size to $12.99 for a large bouquet.
If you’re wondering where to buy cheap flowers, generally Trader Joe’s is a safe bet.
See all Trader Joe’s deals.
Shop Trader Joe’s for inexpensive tulips.
Trader Joe’s again, folks. If you’re too slow to catch the deal on roses at Trader Joe's, we're expecting TJ’s to roll out 2-dozen tulips for $12.99 ($0.54 per tulip) the week before Valentine's Day.
Grab a Kroger Bouquet for as low as $0.78 per stem.
Kroger offers small bouquets for $7 ($0.78 per stem). They also have nice-sized bouquets, but they run $12 (13 stems) - $50 (38 stems) each. Yowza!
Find 20 tulips at Whole Foods for $15.99. Plus, Whole Foods’ florists will arrange your flowers for free.
Tulips are an excellent alternative to rose bouquets, and they’re cheaper. Aim to spend about $0.80 per stem when you buy tulips in the off-season (any time but spring). Right now, tulip prices are $15.99 for 20 tulips. However, we're expecting Whole Foods to drop the price as low as $12.99, or $0.54 per stem, for a 20-stem bouquet in early Feb.
TIP: Also, with whatever florals you choose, you can head to the florist counter at Whole Foods and they’ll arrange your florals for free. They’ll offer a vase for a small charge (usually around $3), but you can decline the vase if you’d like.
Buy a premium bouquet at Costco for $16.99.
Costco’s premium bouquets are slightly larger than the biggest one at Trader Joe’s. But honestly? You could put two medium bouquets from Trader Joe’s together into one and it’d be bigger than Costco’s bouquet. Best part? It’s cheaper too. $13.98 instead of $16.99.
Save up to 50% when you have a FromYouFlowers.com florist designed bouquet delivered on Feb. 11 or 12.
FromYouFlowers.com has three standard and three Valentine's Day specific florist designed bouquets to select from; regular, deluxe, and premium. Show someone you're thinking of them early (Feb. 11 or Feb. 12) and you can save up to 50% over a Valentine's Day florist designed bouquet delivered Feb. 13 - 15.
Delivery for a standard florist designed bouquet on Feb. 11 or Feb. 12 may have a delivery fee of $2.99 or $5.99.
Note: The florist chooses what seasonal flowers to include in these bouquets. Each bouquet comes with a vase.
Grab a fresh Benchmark Bouquets arrangement through Amazon and get free next day delivery.
The second Benchmark Bouquets arrangement to make our list is a bright mix of flowers such as sunflowers, asters, daises, and more. Order through Amazon and get free next day delivery (Prime members)
Costco offers several fresh bouquets $43 and up.
If you have more room in your budget you won't have any trouble finding beautiful fresh bouquets at Costco with a price point starting around $43.
Delivery Deals on Valentine's Day Flowers
We expect delivery services like DoorDash and Instacart will offer Valentine's Day deals for flower delivery.
DoorDash has great flower deals now, leading up to Valentine’s Day.
Watch for DoorDash to offer a 40% off bouquets (with a promo code) deal the week before Valentine’s Day. This coupon will give you up to $25 off your bouquet order.
Alternatives to Fresh Roses and Flower Bouquets
Whether it's allergies, cost, or the fact that fresh flowers die within days of cutting, some people just don't care for fresh roses or fresh flowers. For all of these folks we've gathered up several alternatives.
Grow your own fresh roses outdoor with a rose bush.
Instead of buying a dozen roses, pick up a rose bush from Home Depot or Lowe's for less than $40. Depending on many factors, including how well you maintain your rose bush, they can last for decades.
Forever roses can last for a up to three years (or more), no water necessary.
Looking for roses that will last more than a handful of days, but don't require a lifetime commitment of care? Try forever roses. With prices up to $130, these are at the higher end of bouquet prices. However, with their staying power of up to three years or more (with minimal care), your price drops to as low as $13 a year for the 16-stem Glamour Boutique Forever Roses.
Build stem roses or a flower bouquet with Legos or mini bricks.
Here are two allergy-free, zero maintenance (maybe an occasional dusting) fresh flower alternatives. If you have a Lego fan on your Valentine's Day list, Amazon has mini brick building kits for about $15 each.
Grab a Squishmallows Rose for 32% off at Amazon.
While Walsh the Rose Squishmallow (reg $36.99) isn't the cheapest on our list, he sure is the softest, cutest, and he's on sale!
Gift a Freshcut Paper Pop Up Flower Bouquet from Amazon.
Paper flowers? Why not, they won't wilt or die on you. This $13 pop up bouquet at Amazon unfolds to become a 12" tall 3D vase and flowers. Bonus, it comes with a notecard for a gift message.
DIY your own rose bouquet with artifical stems from Joann or Michaels.
Creative DIYers can make long-lasting bouquets with supplies (like artificial flowers, a jar, and ribbon) from Joann Fabrics, Michaels or maybe around your house. Filler options (for your container) could include craft foam/styrofoam, gel beads, moss, pebbles, or even dirt.
Tell us what you think