Smart saving is a team sport.
Groceries

Aldi vs. Walmart vs. Costco: I Priced the Same 30 Items at All Three

The full 30-item table, who wins each category, and the bulk-buying math nobody does at the register.

¢
6 min read2 sources linked

General household-budgeting information from one family's tested experience — not financial, tax or insurance advice. Full disclaimer

A grocery store produce case stacked with tomatoes, limes, peppers and lemons.
Photo: Pooja Derashri / WordPress Photo Directory (CC0 1.0)
On this page5 sections
  1. The 30-item basket
  2. So Costco wins? Not so fast.
  3. Who actually wins each category
  4. How to run this comparison yourself (the price-book method)
  5. The hybrid that we actually run

I keep a price book — a boring little spreadsheet where I log what our staples cost at the stores near us. Every few months I run the same 30-item basket through all three of our options: Aldi, Walmart, and Costco. This is the August 2026 run.

Two ground rules before the table, because this is where most store-comparison articles cheat:

Rule 1: Cheapest comparable item at each store. That means store brands almost everywhere — Aldi's house labels, Great Value at Walmart, Kirkland Signature at Costco. Comparing Aldi's store brand to name-brand Cheerios at Walmart isn't a store comparison, it's a brand comparison, and that's a different article.

Rule 2: Everything is normalized to the same quantity. Costco doesn't sell one pound of butter; it sells four. So the Costco column shows the per-unit equivalent — what one pound costs inside the four-pack. Keep that in mind, because it's the whole plot twist of this article.

Walmart$82.24Aldi$79.45Costco (per-unit)$70.9
The same 30 items, August 2026. Costco's bar assumes you only buy the quantity you need — which Costco does not allow.

The 30-item basket

Item (quantity) Aldi Walmart Costco*
Milk, whole (1 gal) $2.95 $3.04 $3.15
Eggs, large (1 doz) $2.80 $2.90 $2.55
Butter (1 lb) $3.65 $3.80 $3.25
Cheddar block (1 lb) $4.80 $4.95 $4.15
Greek yogurt (32 oz) $3.85 $3.95 $3.40
Sandwich bread (1 loaf) $1.45 $1.40 $2.25
Flour tortillas (20 ct) $3.30 $3.45 $2.90
White rice (per lb) $1.00 $0.95 $0.70
Spaghetti (1 lb) $0.95 $1.00 $0.85
Old-fashioned oats (per lb) $1.25 $1.30 $0.90
All-purpose flour (5 lb) $2.35 $2.45 $2.05
Sugar (4 lb) $2.90 $3.00 $2.60
Peanut butter (40 oz) $3.95 $4.10 $3.50
Chicken breast (per lb) $2.85 $2.95 $2.60
Ground beef, 80/20 (per lb) $5.50 $5.65 $4.90
Bacon (1 lb) $4.45 $4.60 $4.05
Frozen chicken nuggets (per lb) $2.95 $3.05 $2.55
Canned tuna (5 oz) $0.95 $1.00 $0.90
Bananas (per lb) $0.55 $0.57 $0.50
Apples, gala (per lb) $1.25 $1.35 $1.10
Baby carrots (1 lb) $1.45 $1.50 $1.20
Yellow onions (per lb) $0.85 $0.90 $0.70
Russet potatoes (per lb) $0.55 $0.58 $0.50
Frozen broccoli (per lb) $1.30 $1.35 $1.15
Canned diced tomatoes (14.5 oz) $0.95 $1.00 $0.85
Pasta sauce (24 oz) $1.55 $1.60 $1.40
Cheerios-style oat cereal (per lb) $1.95 $2.05 $1.70
Coffee, ground (per lb) $5.60 $5.85 $4.75
Olive oil (per qt) $8.90 $9.20 $7.60
Dish soap (per qt) $2.65 $2.75 $2.20

*Costco = per-unit equivalent price inside the bulk package.

So Costco wins? Not so fast.

On paper, Costco beat Aldi on 28 of 30 items. Per unit, Kirkland Signature is genuinely the cheapest label in America for most of this list.

  1. Will you use it before it dies? Rice, oats, and dish soap: yes, obviously. A 3-pound tub of Greek yogurt in a house where one adult eats yogurt: that's a race against a date printed on the lid.
  2. Do you have $220 of grocery cash available this week? Bulk pricing is a loan you make to yourself. Plenty of months, we don't have the liquidity to prepay six weeks of pantry staples, and that's not a character flaw — it's cash flow.
  3. Did you pay to get in the door? A Costco Gold Star membership is $65 a year. On this basket's roughly 11% edge over Aldi, you need to route about $600 of annual spending through Costco just to break even on the card.

Who actually wins each category

Three years of price-book runs, compressed:

  • Dairy, meat, coffee, oil: Costco, by margins big enough to matter. These are also the categories where grocery inflation has bitten hardest — the BLS food-at-home index is up 2.7% over the past year, but beef specifically is up far more — so the bulk discount on proteins is worth real dollars now.
  • Produce for a family that shops weekly: Aldi. Costco produce is fine, but it comes in quantities that assume you're feeding a soccer team. Our Aldi produce loss rate is near zero; our Costco produce loss rate was embarrassing.
  • Bread and anything perishable-and-small: Aldi or Walmart. Costco's two-loaf bread pack is only a deal if you freeze one, and our freezer space is already spoken for.
  • The full one-stop weekly trip: Aldi, and it's not close once you count the register total instead of the unit price.

How to run this comparison yourself (the price-book method)

  1. Pick 25–30 items you genuinely buy weekly or monthly. Not a fantasy healthy-person basket — your actual repeat purchases. The comparison only matters if it's your food.
  2. Log prices in the same week at each store. Grocery prices move weekly; a basket priced at Store A in March and Store B in May is fiction. I use a notes app in the aisle; it takes maybe 12 extra minutes per trip.
  3. Write down price and size, then normalize. This is the step everyone skips and it invalidates everything. A $2.49 "quart" of dressing versus a $2.29 pint is not a win for the second bottle. Shelf tags' price-per-ounce lines do most of this math for you, but they compare inconsistent units (per ounce here, per pound there) often enough that I re-do it.
  4. Match quality tier, not label prestige. Cheapest comparable store brand at each store — and where a store brand doesn't exist for an item, note it rather than silently substituting the name brand, which quietly pads that store's total.
  5. Re-run it twice a year. Stores reprice constantly, and the "winner" for a category genuinely changes. Costco took the coffee crown from Aldi at my stores only last year.

What about the stores I didn't include? Quick honest notes from occasional runs: Lidl prices like Aldi where it exists (mostly the East Coast). Sam's Club prices like Costco with a cheaper membership. Kroger and the traditional supermarkets lose the staples race by 15–25% but partially claw it back with loss-leader sales and digital coupons — fine for cherry-picking deals, expensive as a default store. And dollar stores look cheap per package but lose badly per ounce on most food; they're a convenience play, not a grocery strategy.

The hybrid that we actually run

We do a monthly Costco run for exactly nine items — rice, oats, butter, cheese, coffee, olive oil, ground beef (split into freezer bags), chicken breast (same), dish soap — and a weekly Aldi trip for everything fresh. Walmart is the fallback for the specific name-brand items my family won't let me swap and for weeks when the budget is genuinely tight and I don't want bulk-size temptation.

That hybrid saves us roughly $25–$35 a month versus all-Walmart, all the time — call it $300–$400 a year for one extra stop a month. Not life-changing. Extremely real.

If you only take one thing from my spreadsheet, take this: the store that's cheapest per unit and the store that's cheapest for your week are often different stores. The unit price is math; the right store is math plus your fridge size, your cash flow, and your family's honest eating habits. Price the basket you actually buy — it takes one trip with your phone's notes app — and let your own table settle it.