Aldi vs. Walmart vs. Kroger: where staples are actually cheapest
The three most common 'cheap grocery' options compared honestly — prices, trade-offs, and the hybrid strategy that beats shopping at any single one.
Ask where groceries are cheapest and you'll hear three answers: Aldi, Walmart, or 'my Kroger with the card and the sales.' All three are defensible, because they win in different ways. Aldi wins on everyday staple prices, Walmart wins on breadth at consistently low prices, and Kroger-style traditional stores win on rock-bottom sale prices for those who play the game. Here's how it actually shakes out.
How each store gets cheap
- Aldi: a ruthlessly small store — roughly 1,400 mostly private-label items versus 30,000+ elsewhere. Tiny stores, quarter-deposit carts, bring-your-own bags, minimal staff. Basket studies routinely put a staple basket 15–25% below traditional supermarkets and mid-single digits below Walmart.
- Walmart: scale. Everyday-low-price on a full 30,000-item assortment, national brands included, plus the Great Value private label. Rarely the absolute cheapest on any one staple, almost never expensive on anything.
- Kroger (and peers like Safeway, Publix, H-E-B): high shelf prices offset by aggressive sales cycles, loyalty-card pricing, digital coupons, and fuel points. The everyday price loses; the sale price on loss leaders frequently beats both Aldi and Walmart.
The honest trade-offs
Aldi's price advantage comes with a narrow selection — one or two options per category, mostly store brand, and a produce section that varies in quality by location and day. If your list includes specific national brands or specialty ingredients, you'll need a second stop. Walmart's trade-off is the shopping experience and quality variance on meat and produce at some locations. Kroger's trade-off is that its convenience and pleasantness are funded by everyday prices 15–25% higher — shop it without engaging the sales-and-coupons game and you're paying the premium without the rebate.
Which single store, if you only pick one
- Pick Aldi if your cart is mostly staples and produce, you're brand-flexible, and there's one nearby. Lowest effort-to-savings ratio in the industry.
- Pick Walmart if you want one-stop shopping with national brands and a full assortment at reliably low prices — especially with grocery pickup, which kills impulse buys.
- Pick Kroger-style only if you'll genuinely work the system: shop the ad, load the digital coupons, buy loss leaders deep, and stack fuel points. Played well it's competitive; played lazily it's the most expensive option on this list.
The basket, item by item
| Item | Aldi | Walmart | Kroger (no sale) |
|---|---|---|---|
| Milk, 1 gallon | $2.95 | $3.09 | $3.49 |
| Eggs, dozen large | $2.19 | $2.42 | $2.99 |
| Bread, sandwich loaf | $1.29 | $1.42 | $2.49 |
| Chicken breast, per lb | $2.89 | $2.97 | $3.99 |
| Ground beef 80/20, per lb | $3.99 | $4.18 | $4.99 |
| Rice, 2 lb | $1.79 | $1.97 | $2.79 |
| Pasta, 1 lb | $0.95 | $1.08 | $1.49 |
| Canned tomatoes | $0.89 | $0.98 | $1.39 |
| Cheese block, 8 oz | $1.99 | $2.22 | $2.99 |
| Bananas, per lb | $0.49 | $0.54 | $0.69 |
| Cereal | $1.85 | $2.24 | $4.29 |
| Butter, 1 lb | $3.45 | $3.67 | $4.79 |
Totals for this representative basket: roughly $25 at Aldi, $27 at Walmart, and $36 at Kroger without sales. But add Kroger's game — say chicken at a $1.99 loss-leader week and cereal at $1.99 with a digital coupon — and its basket drops by $6 on those two lines alone. That's the entire dynamic in one table: the discounter wins the lazy comparison every time, and the traditional store wins specific line items on specific weeks for shoppers paying attention.
A worked month on the hybrid strategy
A family spending $950 a month all-in at a traditional chain switches to the hybrid: the staple base (about 70% of spending) moves to Aldi at roughly 20% savings, worth about $130 a month. Twice a month they detour eight minutes to the Kroger for front-page loss leaders only — chicken, cheese, cereal at their lows — spending $60 and saving maybe $25 versus buying those items at Aldi's everyday price. New monthly total: around $795, a savings of roughly $155 a month or $1,850 a year, for two extra short stops. The mistake to avoid is inverting it: doing the full shop at Kroger 'because I'm already here for the chicken' hands the savings right back.
Running your own basket test
National comparisons are directionally right and locally wrong — a strong regional chain, an H-E-B or a WinCo, can scramble the rankings entirely. The fix takes one week: write down your household's 12 most-purchased items with sizes, then price them at your two or three candidate stores using their apps or one drive-by each. Total the baskets, note the gap, and multiply by 52. A $9-per-week gap is $468 a year — enough to justify changing a habit; a $3 gap probably isn't worth a longer drive. Repeat the test once a year, because the answer moves: chains reprice aggressively against each other, and the store that won your basket in 2024 may quietly lose it by 2026.
One caution on the comparison itself: match quality tiers honestly. Comparing Aldi's store-brand cheese to Kroger's premium label inflates Aldi's win; comparing Walmart's cheapest ground beef to a leaner grind elsewhere inflates Walmart's. Basket tests only tell the truth when each line item is the version your household would genuinely buy at that store.
The bottom line
Aldi is the cheapest default basket, Walmart is the cheapest full-assortment one-stop, and Kroger is cheapest only for deliberate sale shoppers. The real winner is a hybrid: staple base at the discounter, loss leaders at the traditional store, and no loyalty to any logo — only to the unit price.
Check your understanding
1 of 3Not quite — try again.
Get smarter about money every week
One email, no spam — practical guides and Worth updates. Unsubscribe anytime.
Put this into practice
Worth tracks your accounts, budgets, and goals — so the concepts in this article aren't just theory.
Start free trial