The topic of grocery affordability is not new to these pages. I have written about it before in 2019, 2020, 2021, and 2023. And in 2025, households are more concerned than they’ve been in the last decade about rising prices and ways to save money in the family budget.
On Friday, November 7, 2025, I did some secret shopping at seven local Minneapolis grocery stores. I was going to do just six, but then I noticed that the price of milk at one location of the ALDI grocery chain was priced higher than what I had seen at another location. More on that below. To start off, here are the seven locations in Minneapolis that I visited.
| ALDI Franklin | 1311 E. Franklin Ave. |
| ALDI Lyndale | 2601 Lyndale Ave. S. |
| Costco | 3311 Broadway St. NE |
| Cub Foods | 1540 New Brighton Blvd. |
| Target | 1650 New Brighton Blvd. |
| Trader Joe’s | 721 Washington Ave. S. |
| Wedge Co-op Lyndale | 2105 Lyndale Ave. S. |
For our shopping basket for this expedition, I went back to the original grocery index from a previous article and choose the top four items by index weight to narrow our scope of pricing for the day. While the federal Bureau of Labor Statistics is at the time of writing not publishing the Consumer Price Index due to the ongoing federal government shutdown, I did not have the time or energy to record prices at more stores for more items. This article is narrowing the focus to a few stores to demonstrate broader points about the way we shop for groceries.

First item: Milk
Let’s start with the fun question! What’s the price of milk these days? As I investigated recently, many Minneapolis-area grocery stores sell milk bottled under their brand name (such as Target Good & Gather) as well as the Kemps Select brand of milk. This milk is exactly the same, from the same filling machines, bottled at the North Minneapolis Kemps facility on West Broadway. You can identify any of these milk jugs or cartons by the bottler code “27-168”, with “27” identifying the state of Minnesota.
So, what is the price of milk? I used the SKU from the previous grocery index, a 2% milkfat gallon with no added growth hormones, but not necessarily organic. It could be organic if that was really the only option, but that didn’t happen on November 7.
| Grocery Store | Milk (2% milkfat, 1 gallon) |
| ALDI Franklin | $2.16 |
| Costco | $2.55 |
| ALDI Lyndale | $2.61 |
| Cub Foods | $2.89 |
| Target | $3.29 |
| Trader Joe’s | $3.99 |
| Wedge Co-op Lyndale | $5.79 |
Surprisingly, the ALDI location on East Franklin had a lower milk price than the ALDI location on Lyndale. I checked with staff at Franklin and they said that yes, the price had come down from $2.75, to $2.23, to now $2.16, and it could change every few days. The prices for all the other items — eggs, mozzarella and chicken — were the same, so the tables below will only have “ALDI” as the listing.

Above is photographic evidence that the prices were different. It may be that the grocery workers at ALDI on Lyndale South transposed the “6” and the “1”. But that’s a big price difference!
Eggs
Typically, large or extra large eggs are sold by the dozen, 12 in a package. While Costco has the lowest price on eggs, this also requires both having a membership (currently $65 per year) and buying five dozen eggs, or a total of 60 eggs. If you are not cooking brunch for the entire cast of a Shakespeare play, then I highly recommend ALDI as the most affordable option of the grocers with a dozen eggs standard.
| Grocery Store | Eggs (12 ) |
| Costco (5 dozen) | $1.90 |
| ALDI | $1.96 |
| Cub Foods | $1.99 |
| Target | $2.19 |
| Trader Joe’s | $3.99 |
| Wedge Co-op Lyndale | $3.99 |
Mozzarella
The next staple for our pricing grocery cart is mozzarella cheese. Many people wrote in when I was developing the original grocery index with different kinds of shredded cheeses that they like to buy and had on their grocery receipts. But as a proxy for all other cheeses, mozzarella was by far the most popular. Our standard unit of measure here is one pound of usually a part-skim mozzarella. Cub Foods and Target each have two-pound bags, while Costco has a five-pound bag.
| Grocery Store | Mozzarella (price per lb) |
| Costco (5 pounds) | $2.48 |
| ALDI | $3.29 |
| Target (2 pounds) | $3.50 |
| Trader Joe’s | $4.49 |
| Cub Foods (2 pounds) | $4.50 |
| Wedge Co-op Lyndale (8 ounces) | $7.98 |

Chicken
The final staple in our pricing grocery cart is chicken. Specifically, readers told me that they liked fresh (raw) boneless chicken breasts with rib meat, and most folks did not buy organic. At Costco on Broadway Northeast, there is also a large selection of halal and kosher dairy and meat products, but the chicken we priced came in the same packages sold at regular consumer Costco locations that total about eight pounds. All chicken here was priced by the pound, and packages could range from three to eight pounds.
| Grocery Store | Chicken (price per lb) |
| ALDI | $2.49 |
| Cub Foods | $2.59 |
| Target | $2.69 |
| Costco | $2.99 |
| Trader Joe’s | $3.49 |
| Wedge Co-op Lyndale | $9.49 |
Even though Costco sells the largest volume of chicken, unless you get a 40-pound case, it really isn’t the best price. Again, as we have consistently seen, ALDI has the best prices on main staples. Readers of this article may have different opinions on quality of food, expiration dates, and the variety of other groceries available. The nuisance issues and the need to bring your own bags and a quarter to rent a shopping cart are also concerns. When I was at ALDI, there was a loud disruption with the security and a patron. But the European chocolate is top-shelf and the prices on staples are the lowest around.

The Wedge Co-op has some notable strengths and weaknesses as a grocery store. I am a member-owner of the Wedge, and my father before me was a member-owner for decades. What I appreciate most about the Wedge are the natural and organic ingredients that you cannot find anywhere else. The prices on bulk spices, candies, and granola also bring me back. Whole Foods and Cub Foods do have some bulk items, but not spices.
Chicken, on the other hand, is a pretty bland meat with little fat, so it’s pretty similar between grocery stores; it’s hard to notice a big difference in quality of chicken meat. There are some people who have ethical or health reasons for shopping at the Wedge Co-op; for example, they may prefer to buy pasture-raised chicken. Then there are shoppers like me who want to save money on some mainline staples and splurge on certain sauces or prepared items. It’s okay to have differences of opinion on chicken and groceries.
Final thoughts
I don’t feel guilty shopping at three or four different grocery stores. It’s how I save my family money. Tonight, I made a quick bake with cauliflower and frozen unseasoned vegetables from Costco and then butternut squash with a parsley sauce and Swedish meatballs from ALDI. I also added some Rao’s Marinara to make a gluten-free semi-pasta-type dish. It was delicious, and now we are full. I brought back the pan to my apartment. It cost about $5 per person, and sometimes that’s all we need.
All photos by the author.
