With almost 21 million people, Mexico City is the fourth most populated city in the world — but it’s at the top of the list in terms of food culture. Indigenous people first cultivated corn and other crops in this area some 7,000 years ago. When you drink pulque, eat tortillas, or taste the different chilis in your salsa, you’re connecting with one of the world’s ancient culinary traditions.

Mexico City’s food can be approached from different angles. There’s certainly an abundance of world-renowned restaurants that are defining what Mexican contemporary cuisine can be, but there are also fondas (traditional eateries) and restaurants famous for takes on everyday dishes like enchiladas, tacos, and mole. On top of all that, you can’t forget the street food. No trip to Mexico City is complete without stopping by the steamy street stands where locals gather to satisfy their cravings for early-morning or late-night snacks.

Whether you’re eating street tacos or a three-course meal, food in Mexico City is extremely affordable. Our recommendations will take you to some of the city’s best restaurants, but don’t hesitate to ask locals for a good secret spot. And if you ever find a busy corner with people queuing for some unknown delicacy, get in line.

Roma

Por Siempre Vegana $ — Just a few feet away from Insurgentes sits Por Siempre Vegana, a tiny taco stand in the middle of the Roma neighborhood. On the menu, you’ll find vegan versions of traditional tacos. The staff is friendly and always eager to help you decide what’s the right taco for you. Even if you’re not vegan, this place deserves a visit. If you arrive by bike, aguas frescas (cold water and fruit drinks) are on the house.

El Rey de los Mariscos $$ — Locals favor this seafood restaurant over every pretentious joint in the area. The restaurant is inside an old apartment building, and it looks small from street level. Inside, the food is traditional, the prices are decent, and the portions are huge. Try the shrimp soup, paella, and any of the cocktails. There’s really no way you can go wrong here.

Condesa

Photo: Pasillo de Humo/Facebook

Pasillo de Humo $$ — Pasillo de Humo gives people a chance to taste the flavors of Oaxaca — a southern state of Mexico and a culinary highlight of the country — without leaving Mexico City. Go for the tlayuda (fried tortilla covered with beans, lettuce, cheese, and salsa) with tasajo (dry beef), and don’t leave without ordering a traditional hot chocolate with yolk bread.

Lardo $$ — One of the most popular breakfast spots in Condesa, Lardo offers a variety of Mediterranean food based on seasonal ingredients. Lardo’s menu has a variety of solid options, but many people show up just for coffee and the bread that’s cooked on site in a wood oven. Make reservations if you’re planning to sit down for a while, but you can also take coffee and bread to go and enjoy it as you walk around the neighborhood.

Polanco

Photo: PUJOL/Facebook

Pujol $$$ — Pujol’s chef, Enrique Olvera, is one of Mexico’s most famous, and his restaurant has the international awards to prove why. Pujol offers a six-course tasting menu with modern takes on traditional Mexican flavors and dishes. For the tasting menu, book well ahead of your stay. You can also book a spot at Pujol’s taco bar on shorter notice. Either way, make sure to try Olvera’s famous mole.

Comedor Jacinta $$ — Fondas are simple, home-style restaurants. Comedor Jacinta takes the fonda and brings it to a new level. Here, chef Edgar Núñez creates an elevated version of traditional Mexican food with a homemade feel to it. Try the beef tongue tacos or the aguachile (shrimp in lime juice, chilis, and spices).

El Túrix $ — For more than 40 years, El Túrix has been serving up traditional southeast Mexican dishes from a small taco stand in Polanco. The specialty is cochinita pibil (slow-roasted pork seasoned with achiote, pickled onions, and habanero chilis). Yes, it’s spicy, but for the full experience, just go for it.

Coyoacán

Tostadas Coyoacán $ — This market stand in the Mercado Coyoacán is one of the most famous places to eat tostadas (deep fried tortilla with toppings). Tinga (chicken in chipotle salsa) and cochinita (spicy pulled pork) are two of the most popular toppings, but one of the most traditional options is to top your tostada with pata (beef foot). The place can seem chaotic at first, but the staff is attentive and will find you an empty seat.

Café Avellaneda $ — There are only a couple of seats at the bar and a single large bench at this coffee shop, but it has some of the best coffee in the city. Crowds waiting for a cup typically spill onto the sidewalk. Café Avellaneda uses coffee beans that are grown and roasted in Mexico, and the baristas can answer any questions you have, no matter how obscure.

Vege Taco $ — As the name suggests, Vege Taco specializes in meat-free tacos. It also has other traditional Mexican dishes, however, like pozole (hominy soup). Vege Taco has a plant-based version of tacos al pastor that even carnivores will like, and it’s conveniently located just three blocks from Coyoacán’s main square.

Algarín

Photo: Los Tolucos/Facebook

Los Tolucos $ — Los Tolucos has the best Tixtla-style pozole you in Mexico City. White pozole is a staple of the southern state of Guerrero, and even though Los Tolucos is not the only place where you can find this delicious broth, it’s head and shoulders above the rest. The menu offers a variety of traditional Mexican food, including some of the best carnitas in town and a green pozole. Getting through Los Tolucos’ massive portions will require time and effort, but it’ll be an experience to remember.

Centro Histórico

El Balcón del Zócalo $$ — El Balcón specializes in contemporary Mexican cuisine. Try the huitlacoche (corn mushroom) and escamoles (ant eggs… trust us) omelet for breakfast. It’s affordable, and the terrace has one of the best views of Zócalo and the Metropolitan Cathedral. It’s popular during breakfast and brunch, so you may have to wait if you don’t have a reservation.

Los Cocuyos $ — It’s widely understood that Los Cocuyos has some of the best street tacos — if not the best street tacos — in Mexico City. Suadero (beef) and campechano (beef and longaniza sausage) are mandatory orders, but come prepared to try as many tacos as you can fit in your stomach.

Dulcería de Celaya $ — Dulcería de Celaya is the best spot for sweets in Mexico City. The store was founded in 1874, and it’s still in the original location. Here, you’ll find a huge assortment of traditional Mexican candies, from camotes (sweet potato infused with flavors) and queso de tuna (a pre-Hispanic delicacy made from prickly pear) to dulce de leche and crystallized fruit. It’s all packed into the small, art nouveau shop.

Photo: Churrería El Moro/Facebook

El Moro $ — If it’s a churro and a cup of hot chocolate you crave, El Moro is the place to be. Open since 1935, El Moro has several shops around the city. The one in Centro Histórico has a classical vibe that makes it stand out. El Moro also serves tacos and other savory dishes, but the highlight is definitely the churros.

Pastelería Ideal $ — Panaderías (bakeries) are common establishments around Mexico. Pastelería Ideal is one of the most famous and oldest, having been open since 1927. It offers the traditional variations of sweet and savory bread, plus a wide selection of cakes for any occasion. The second floor of Pastelería Ideal hides a quirky cake museum that’s worth a visit.

La Mascota $ — At traditional cantinas in Mexico, you order drinks and the food is on the house. La Mascota is one of these places. The atmosphere is always loud and festive with live music and people playing dominoes. Drinks are a little more expensive than in your usual bar, but each beer, tequila, or cocktail you order grants you something from the menu. Carnitas, fish quesadillas, shrimp soup, and pozole are usual cantina fare, but you never know what you’re gonna find, and that’s part of the charm.