tl;dr: Use Amazon Fresh for your grocery delivery, or Instacart if you’re a hipster.

Disclaimer: I have friends who work at Instacart, but I have no loyalty to them, or to any friends really.

Over the past several months, our household has parlayed our addiction to Amazon Prime into an addition to convenience delivery in general. On any given day, we might get a visit from Plated, Munchery, or Good Eggs in addition to the familiar site of UPS dropping off an Amazon Prime box. We even did Postmates one rainy day until I realized that they actually send people on actual bikes up actual hills in actual rain. I felt too guilty to do it again. When it comes to groceries, I’ve been hesitant because I’ve had bad experiences in the past with delivery. The two biggest problems were:

  1. You can’t select your own produce (so you get green bananas and bad looking carrots)
  2. They’re always out of something.

One time I ordered a dozen items I needed for a recipe and received about four of them, which meant of course I couldn’t make the recipe.

With two kids around and new services coming online, it seemed like it was worth another shot. I’ve tried the various services and have basically settled on Amazon Fresh, at least for now. Though Instacart may be a better choice, as you’ll see below. After placing my most recent order, I decided to do a price comparison, but the deciding factors are more about selection and experience.

Prices Compared

My methodology for comparing the cost of the various services is as follows: I placed an actual order on Amazon Fresh for 4 days worth of food, including specific recipes. Then I priced the same order elsewhere. I didn’t compare apples to apples (so to speak), but rather got whatever best fit my requirements. For example, if I needed 1 potato and Amazon Fresh only sold a 5 lb. bag of potatoes, I’d get the bag. If WalmartToGo had a single potato, I’d get the single there. I also amortized in the cost of membership or delivery for the various services with an assumption of 2 deliveries per month.

Amazon Fresh

Total cost: $184.05

Items Not Available: None, although certain more obscure items (cheese cloth, star anise, turnips) were not available until the next day. With Prime Fresh though, there was no charge for either delivery so that was okay.

Biggest Positive Outlier: The steak we ordered (2 lbs of top sirloin) was $21.98 on Amazon, versus an average of $13.98 overall. It wasn’t particularly special steak — it was the only top sirloin they offered.

Biggest Negative Outlier: Honey Nut Cheerios were $7.49 for a giant-ass box, versus the $10.30 average overall.


Total Cost: $179.79

Items Not Available: Everything was available one way or another. Instacart has their “Instacart Plus” service, which was often, though not always, cheaper. Selection was limited though so I reverted to Whole Foods for anything that I really cared about (e.g. meats) and Safeway for anything that I didn’t (e.g. peanut butter)

Biggest Positive Outlier: Milk, which was kind of a surprise since it was pretty much the same everywhere else. A 1 gallon organic whole milk was $9.58 on Instacart versus $5.99 on Amazon Fresh.

Biggest Negative Outlier: In terms of dollars, it was star anise, which was $1.19 on Instacart and $5 – $10 elsewhere. Definitely buy your star anise here. But in terms of percentage, Instacart often won when it came to smaller amounts. For example, I had to buy a whole goddamn bag of fresh ginger on Amazon Fresh but on Instacart, I could have ordered the minuscule amount I needed, making it effectively cheaper.


Note: I eschewed any Walmart-brand products because I’m a snob.

Total Cost: $147.23

Items Not Available: For one thing, Walmart doesn’t have a lot of organic items. So in many cases, it was cheaper because what I really wanted (e.g. organic half and half) wasn’t available so I priced the non-organic version. Items that were not available at all include parsnips, apple cider (got juice instead), pita bread (wha?), star anise, and cheese cloth.

Biggest Positive Outlier: Ginger was more expensive, probably because I had to buy a whole bag of it compared to the single piece on Instacart. In general, though, Walmart was far cheaper than others with a not-as-good selection and few organics.

Biggest Negative Outlier: Ground beef, though I’m not sure how I feel about Walmart beef. 1 pound of ground beef was $5.98 at Walmart compared with the $8.67 average. Most items were slightly cheaper than Amazon on average, but generally for lower quality.


Total Cost: $195.18

Items Not Available: Safeway didn’t have unsweetened coconut flakes.

Biggest Positive Outlier: Cinnamon sticks. Dear God, do not buy your cinnamon sticks here! Safeway wanted $8.19 for cinnamon sticks, versus a paltry $1.19 at Amazon. They also “rape you in the star anise”, charging $9.89 versus the $5.50 average.

Biggest Negative Outlier: Safeway had the best price on the top sirloin. They charged $13.98 for 2 pounds, versus $14-$22 elsewhere.


Since some of these services charge an annual fee (or threaten to after a trial period), I really wanted one that’s the best overall. If there weren’t fees involved, I’d probably use WalmartToGo for packaged stuff (mac and cheese, Doritos, candy), Amazon Fresh for most fresh stuff and household supplies, and Instacart (Whole Foods, really) for produce.

Amazon Fresh

Amazon had everything on my list, though I had to place a separate order for the following day for certain items. Everything that I wanted as “organic” seemed to be available and, not surprisingly, Amazon also has a lot of non-grocery items on Fresh Prime, like diapers and batteries. Some items were only available in larger quantities than I needed, but what’s interesting is that stores that had the lesser quantities often were the same price — you just got less. The most impressive part, by far, of Amazon Fresh was their inventory system. This is where it has a HUGE edge on Instacart and even Walmart. They know what’s in stock so you won’t get into a situation where you order 100 items for a recipe and 99 arrive but one critical item is out of stock. At one point, the last of something in my cart was ordered by someone else, and they told me before I checked out. This is the main reason why I’ll continue to use Amazon.


Instacart has the widest range of items because in addition to their own inventory, they’ll have some dude run to Safeway, Whole Foods, or Costco for you. I think they used to do Trader Joe’s too but got banned. The best part of Instacart is that you can choose where to get each item from. I could conceivably get all the boxed shelf stable stuff at Safeway or Instacart Plus, where it’s cheapest, but decide to pay more for produce and meat from Whole Foods. The experience of doing this is a little cumbersome though. If found myself flipping between the various stores constantly, trying to find the best fit for what I needed.


Walmart has a lot of items, but it’s mostly very mainstream packaged items. You will have trouble finding more obscure items (like, apparently, pita bread) there. For standard stuff, though, the selection is decent. Very few organic items.


I think Safeway’s online selection is good, but in my experience they have more items “out of stock” when you receive the delivery than any of the other services.


I’m consciously paying more for convenience so I want a service that isn’t going to be frustrating. Amazon and Walmart come out on top here.

Amazon Fresh

The site is kind of ugly, but it’s fast and easy to use. You can select your delivery window ahead of time then rush to get everything into your cart before you lose your window (for same day delivery, it gave me like 40 minutes). The delivery windows can be either 3 hours for doorstep delivery or 1 hour (2 hours during rush hour) if you’re going to be there. I’m not sure if/how the delivery experience is different if you’re present for the delivery. For doorstep delivery, they leave durable large reusable bags. Refrigerated or frozen items are packaged with ice packs, dry ice, or (oddly) frozen plastic bottles of water. The idea is that you give all this crap back to them when they do their next delivery, but in the meantime you’ve got all these giant green bags and foam coolers around the house. Hacker tip: Place a “decoy” order for the following day with just 1 bag’s worth of groceries. They’ll pick up the 6 bags from the day before and drop off that one. Suckers! The other (emerging) advantage of Amazon is their partnership with local vendors. For example, some meats (though not the top sirloin I needed) were available from Avedano’s, a local butcher shop. I think as the other services start to match Amazon’s service and prices, this will become the killer feature.


I only used Instacart once, and it was back when they were pretty new. My experience wasn’t great, but I’d like to try them again because I’m sure it’s gotten better. The tough part for me is the inventory control problem — if they’re sending some dude to Whole Foods, there’s a good chance they won’t have (or can’t find) what I’ve ordered. Since I make a lot of recipes, that’s a deal breaker. Still, Instacart is theoretically ideal. You can pick and choose what you get from each store, and then even save more by using their inventory. It came out cheaper than Amazon thanks in large part to the ability to get smaller quantities and switch between stores. And the fee for Instacart is pretty minimal when amortized over several deliveries. For some, the biggest advantage of Instacart is the extremely quick delivery time. If you need something urgently, it’s the best bet. But since I’m still on a free trial of Google Shopping Express, I can get most urgent items (e.g. baby wipes) from there.

Walmart To Go

Walmart’s ordering experience is a lot like Amazon’s. You can pick your delivery window first, with both 2-hour and 4-hour windows available. They’ll even tell you when they have a delivery nearby, so you can feel like you’re saving the earth by scheduling yours for the same time. Unlike Amazon, Walmart doesn’t drop off reusable bags. They ask you if you want paper bags but in my experience, regardless of what you choose, they came to the door with giant plastic tubs and empty everything out on your kitchen table or in your foyer. The advantage is that you don’t have all these bags lying around, but the disadvantage is that you need to be there and put the groceries away immediately. To be honest, I was pretty impressed with the three or four Walmart deliveries I’ve done. Since there’s no membership fee, I may continue to use them for “things I don’t care about” like Cheerios and Coke, where they tend to be the cheapest and easiest. Worth noting – unlike Amazon, some of my Walmart items were out of stock. Substitutions were generally acceptable except one time when they substituted a completely different (and recipe-incompatible) cut of chicken.


I can’t think of a compelling reason to use Safeway for grocery delivery. The prices are somehow worse than everyone else (including Instacart delivering Safeway products), and every delivery I’ve done with them had several key items out of stock. The experience at my local Safeway is pretty grim, so I shouldn’t really expect delivery to be any better.


If you’re new to the grocery delivery game, I’d try Instacart and see if it works for you. As I mentioned, it’s theoretically the ideal and should have the best assortment due to the range of stores. For me, I’m pretty happy with Amazon and will continue to use them until I have a reason not to.

Leave A Comment

Recommended Posts