The answer is: it depends on what you’re buying.
That’s frustrating but true. Price variation across chains can hit 40–50% on identical items, and the store that wins on produce often loses badly on packaged goods. Here’s how the major chains stack up by category.
Aldi / Lidl: the unit price leaders
For produce, dairy, and basic staples, Aldi and Lidl consistently come in 20–40% below traditional grocery chains. Their model — limited SKU count, mostly store brands, efficient operations — lets them undercut almost everyone on items they carry.
Wins at: milk, eggs, cheese, bread, fresh produce, canned goods, basic pantry staples
Misses: brand-name products (they mostly don’t carry them), specialty items
Walmart: the packaged goods default
Walmart’s scale gives it pricing power on national brands that smaller chains can’t match. For cleaning supplies, snacks, condiments, and packaged pantry items, Walmart usually wins or ties for lowest.
Wins at: packaged goods, cleaning supplies, paper products, frozen food, national brands
Misses: quality produce, specialty grocery
Costco: best unit price, worst unit size
Costco wins on price-per-ounce for almost anything they carry. The problem is package size. A 6lb jar of peanut butter is a great deal if you’ll use it. It’s expensive waste if you won’t.
Wins at: proteins, olive oil, nuts, dairy in bulk, paper products, laundry detergent
Misses: anything perishable you can’t consume before it expires
Kroger / Safeway / Albertsons: sale shoppers only
These chains have high everyday prices but deep sales, often with loyalty card discounts. If you track their weekly deals, you find genuine bargains. If you ignore the sales cycle, you’re paying 15–25% over market on most items.
Wins at: rotating sales, loyalty pricing, private label quality
Misses: everyday pricing without a card or active sale
Trader Joe’s: middle tier, unique niche
Trader Joe’s sits between Aldi and a traditional grocer. Their store brand quality is generally high, everyday prices are reasonable (not lowest), and they carry items no one else has. Worth it for specific products — not a full-shop destination.
Whole Foods: almost never the cheapest
Whole Foods charges a significant premium across nearly every category. For commodity grocery items — butter, canned tomatoes, pasta — they are consistently the most expensive option.
Target: convenient but expensive
Target grocery prices run 10–20% above Walmart for comparable items. Fine if you’re already there for something else. Actively bad value for a dedicated grocery run.
The winning strategy
Split your shop. Buy produce and dairy at Aldi. Buy national brand packaged goods and cleaning supplies at Walmart. Buy proteins at Costco if your volume justifies it. Fill gaps at whatever chain is convenient.
Most households that try this save $80–$120/month without changing what they eat.
Use Cartana to compare exact prices at stores near you — so you know which specific items to buy where, based on your actual location.