Cheapest on a basic basket: Walmart and Aldi curbside (where available). Best for convenience without a huge markup: Amazon Fresh for Prime members. Watch delivery and service fees — they often matter more than item prices.
Online grocery prices aren’t as simple as comparing item-for-item. Delivery fees, service fees, markup on fresh items, and minimum order sizes all change which store actually ends up cheapest for your real-world cart.
Here’s how the major US options stack up, and where the hidden costs tend to sneak in.
Online Grocery Price Comparison
1. Walmart Grocery — Cheapest Base Prices
Walmart’s online grocery prices generally match in-store prices, which tend to undercut most other chains on packaged goods and staples. Free pickup is widely available, and delivery is affordable with a Walmart+ membership.
If you’re optimizing purely for price and don’t mind a less curated selection, this is usually the starting point.
2. Aldi Curbside — Best for Store-Brand Savings
Where it’s available (through Instacart in most areas), Aldi’s store-brand pricing is hard to beat, often 20-30% below national brands at other chains. Selection is narrower than a full-size supermarket.
Best for a weekly staples run rather than a one-stop shop for everything.
3. Amazon Fresh — Best if You’re Already a Prime Member
Amazon Fresh pricing is competitive, and delivery is free over a minimum order for Prime members, which can make it cheaper in practice than a non-member alternative with delivery fees tacked on.
Availability varies by area, so check coverage before counting on it.
4. Kroger / Affiliated Chains — Best Loyalty Discounts
Kroger (and chains like Ralphs, Fry’s, and King Soopers under the same parent company) stacks weekly digital coupons with fuel points, which can meaningfully undercut sticker price for loyalty members who plan around sales.
Requires more active comparison shopping than a flat-price store like Aldi.
5. Costco Grocery — Best for Bulk Households
If you’re already a member, Costco’s per-unit grocery pricing is often the lowest of any option here, especially on proteins, cheese, and household staples bought in bulk.
Not worth it for a single-person household or small kitchen storage — bulk only saves money if you’ll use it before it spoils.
Watch the Fees, Not Just the Prices
- Delivery fees can add $5-$12 per order, which erases most of the savings on a small cart.
- Service fees on third-party apps like Instacart often run 5-10% on top of item prices.
- Minimum order thresholds for free delivery can push you into buying more than you planned.
- Substitutions on out-of-stock items can quietly swap in a pricier brand — check your order before checkout.
Frequently Asked Questions
Is online grocery shopping actually cheaper than in-store?
Item prices are usually similar to in-store, but delivery and service fees can offset any savings unless you hit free-delivery thresholds or use pickup instead of delivery.
Is pickup cheaper than delivery?
Almost always. Most major chains offer free or low-cost pickup, while delivery adds a separate fee plus often a tip. Pickup is the easiest way to cut costs without changing where you shop.
Which store has the cheapest store brands?
Aldi’s store brands are consistently among the cheapest nationally. Walmart’s Great Value line and Kroger’s private labels are close behind and more widely available for delivery.
Do grocery delivery subscriptions pay for themselves?
If you order online more than two or three times a month, a subscription like Walmart+ or Amazon Prime’s free delivery usually costs less overall than paying per-delivery fees each time.
Final Thoughts: For raw price, Walmart and Aldi are hard to beat. For convenience without a big markup, Amazon Fresh works well if you’re already paying for Prime. Whichever you choose, pickup over delivery is the single easiest way to keep the bill close to in-store prices.
Prices, fees, and availability vary by region and change often — always check current listings before ordering.
