Food

Eating Well in Mexico City on a Budget

How to eat some of the best food in North America for a few dollars a day in Mexico City, from taco stands to mercados.

Alex Rivera

Founder & Editor

· 2 min read

A palm-lined plaza in front of the white cathedral bell tower in Veracruz, Mexico

Mexico City might be the best food value of any major city in the world — a full day of excellent eating rarely costs more than $10–15.

Start at a mercado

Every neighborhood has a public market (mercado), and most have a fonda section — small family-run stalls serving full comida corrida (set lunch) menus for $3–5, often including soup, a main, rice, and agua fresca.

Tacos, done right

  • Tacos al pastor: the Mexico City classic — thin-cut marinated pork, pineapple, cilantro, and onion. $0.50–1 per taco.
  • Tacos de canasta: “basket tacos,” pre-made and steamed, sold from bicycles and street carts for even less.
  • Quesadillas de flor de calabaza: squash blossom quesadillas, a vegetarian favorite at market stalls.

Stick to stalls with a visible line of locals — turnover means fresh ingredients, and it’s the single best indicator of quality.

Where to eat by neighborhood

Roma and Condesa

Slightly pricier but home to excellent mid-range spots ($8–12 mains) alongside plenty of taco stands if you want to balance splurges with street food.

Centro Histórico

Dense with mercados and some of the cheapest, most traditional food in the city — this is where comida corrida prices are lowest.

Coyoacán

Home to the Mercado de Coyoacán, famous for tostadas and a relaxed, market-town feel away from the busier center.

A few practical tips

  1. Carry small bills and coins — most stalls can’t break large notes.
  2. Bottled or purified water only; ask for “agua purificada” if unsure.
  3. Breakfast street stalls (tamales, atole) are some of the cheapest meals of the day, often under $2 total.
  4. Save one night for a proper sit-down meal — even a nice restaurant in Mexico City is often half the price of a mid-range meal in the US or Western Europe.