Skip to Content

Where to Eat in Mexico City: A Foodie’s Guide to Mexico City

Hungry and wondering where to eat in Mexico City? You’ve come to the right place! This Mexico City food guide has all the best places to eat in the city – from the most delicious restaurants, taco spots, treats, and more!

One of the things that initially drew me to Mexico City was that I kept hearing that it had a booming culinary scene. And once I arrived, I realized that all the hype was real – the food + drink scene here is UNREAL.

Mexico City is home to anything from world-class fine dining establishments, to amazing street tacos, craft cocktail bars, dessert shops, and anything and everything else in between.

I spent 3 days in Mexico City and my stomach was very, VERY satisfied! I’ve since returned to the city two more times and on each trip I keep discovering more and more delicious things to eat in the city.

Keep on reading to find all the best places to eat in Mexico City!

Best Places to Eat in Mexico City

Best Breakfast + Brunch Spots in Mexico City


You may have heard of Enrique Olvera – yes, the guy behind Pujol (more on him later). Eno is his casual outpost, with 5 locations throughout the city (including one right next to Pujol).

They’re known for the chilaquiles here – and they were amongst the best I’ve had. Perfectly crunchy and topped with a flavorful red or green sauce. Yum!

But that’s not all – they have a whole menu full of classic breakfast and lunch fare. You’ll find a variety of tortas (Mexican sandwiches), salads, soups, and much more.

Panaderia Rosetta

Panaderia Rosetta is one of those spots I *must* stop at every time I’m in Mexico City. Sometimes multiple times – it’s just that good! Grabbing for a pastry and coffee here is the perfect way to start a busy day of exploring the city.

Located along a leafy street in Roma Norte, Panaderia Rosetta is the casual bakery outpost of Elena Reygadas, who is the chef behind Rosetta (which is also down the street). Here, you’ll find dozens of European pastries – it’s definitely hard to choose (hence the multiple trips)!

They are known for their guava roll, which is a must order. I also love their cardamom buns (which were a bit different style than the ones I had in Stockholm) and the Berlinettas, sort of like a cream-filled donut. 

Cafe NIN

Located in the hip Roma neighborhood, Cafe Nin dishes out excellent coffee and European-style pastries, as well as sandwiches and light bites. This is the perfect spot for a quick breakfast. 

Cafe NIN is actually run by the same team behind Panaderia Rosetta, so it’s got similar offerings and you can’t go wrong with either. It tends to be less busy here as well.


Full disclosure, I haven’t actually dined here for breakfast, only lunch. (I can’t seem to keep their hours straight lol) But, breakfast is what they’re known for, so I’m listing it here. 

The hipster chic Lalo fits right in in the Roma Norte district. It’s got a colorful mura, which creates a fun, hip vibe.

As I mentioned earlier, they’re known for their breakfast and especially their chilaquiles. They’ve also got pancakes, a variety of egg dishes, croque monsieurs/madames, and more.

If you come after 1pm, they transition into their lunch menu, which has some Italian dishes. While what I was *really* craving was chilaquiles, I must admit that the pasta and margherita pizza we had here were pretty tasty. I definitely want to return for breakfast though!

Best Lunch + Dinner Restaurants

One thing to note about eating in Mexico City: Lunch is the main meal of the day here, and it is eaten later in the day, around 2pm. May restaurants open for lunch, but not dinner, so be sure to check opening times.


You’ve probably heard of Pujol – it’s probably Mexico City’s most famous restaurant. It’s also one of the most famous restaurants in the world (ranked #13 the World’s Best Restaurants list). Its chef Enqriue Olvera is also world famous, and was featured on an episode of the Netflix series Chef’s Table.

Chances are that if you’re a foodie, you’re coming to CDMX for the chance to dine at Pujol.

Dining at Pujol is quite an experience, and is definitely worth dining at least once in your life. The 6 course tasting menu costs 2565 pesos or around $150 USD  and is definitely a splurge – but you’re going to pay at least double that in the US for this caliber of food.

Each of the 6 courses was unique, flavorful, and delicious. Olvera is known for adding a sophisticated and modern twist on traditional Mexican cuisine. The menu changes, but one staple is the iconic mole – cooked in a style that adds fresh mole to some that has been cooking since Pujol first opened.

The final course is a churro, and it is absolutely delicious!

If you have any desire to dine at Pujol at all, be sure to plan ahead! Reservations go pretty quick. When I went, I reserved over 2 months in advance.


While I (still!) haven’t made it to Quintonil, I had to include it here as it’s the other most famous restaurant in Mexico City. It’s also included on the World’s Best Restaurants list (in fact, it beat out Pujol, and is currently ranked #9).

It’s a similar fine dining experience, with a prix fixe tasting menu. Unlike Pujol, they offer a la carte options as well. It also serves modern, high-end takes on Mexican cuisine, using fresh, seasonal ingredients.

If you can’t get a reservation at Pujol, definitely check Quintonil as well – it’s supposed to be an unforgettable dining experience as well!

Fonda Fina

As I mentioned earlier, I have yet to dine at Quintonil. However, I did get a chance to eat at Fonda Fina, which is the more casual outpost by the same chef and it was delicious!

The vibe here is hip yet laid-back and rustic. You’ll find an inventive take on Mexican cuisine, with a focus on fresh ingredients and seasonality. The food is creative but not pretentious.

Be sure to try the mezcal cocktails as well!

Expendio de Maiz sin Nombre

If you’re looking for one of Mexico City’s most unique dining experiences, then you can’t do much better than Expendio de Maiz sin Nombre.

There is no menu here. The kitchen brings out whatever they’re cooking up that day. For every round, there’s a meat dish and a vegetarian dish. This continues until you tell them you’re full (or for up to 5 rounds, whichever comes first).

It’s basically a unique spin on the omakase concept.

Each of the dishes has a tortilla base (hence “Maiz” in the name), and is made using fresh, seasonally inspired ingredients. While I didn’t quite catch the description of exactly what I ate (I was just too eager to eat them because they looked amazing!), I really enjoyed everything I had!

The dishes run about 100-150 pesos each, which makes it fairly inexpensive. For 3 rounds with 3 people, it came out to about 1200 pesos. Such an awesome value!

Note: they do not take reservations, and it’s cash only.


Looking for fresh seafood? Mexico City might be landlocked, but somehow Contramar has managed to serve up some super fresh seafood dishes.

The beautiful open-air restaurant in Roma Norte is one of the most popular restaurants in town, and for good reason!

I honestly still have dreams about the tuna tostadas here (even though I know I can get them at Cala, their sister restaurant in San Francisco). They’re just THAT good – fresh, crunchy, and flavorful. 

The grilled fish here is delicious as well and served with two amazing sauces – one is a chili base, and the other a chimichurri.

I recommend coming as a group so you can try more things and share!

PS – Contramar is a lunch restaurant, so they close at 6pm, or you can come for an early dinner.


Lardo is one of the most popular places to eat in Mexico City, known for their Mediterranean cuisine with a Mexican twist. It’s another one of chef Elena Reygadas’s outposts (yes, the lady behind Panaderia Rosetta and Rosetta), and it’s definitely one of her best!

They’re actually most well-known for their brunch, but we came for dinner and it ended up being one of our favorite meals!

We ordered a variety of dishes here, and it was so fun to try and share different things. Some favorites were the unique twist on the eggplant parmesan, the pizza with caramelized onions and chile arbol, and the squash blossoms (which you NEED to order!).


Nicos is frequently hailed as one of the best restaurants in Mexico City by both visitors and locals, but it manages to feel like a hidden gem at the same time. This is because Nicos sits a bit outside of City Center, but it is well worth the trek! 

They specialize in elevated home style Mexican cuisine, served in a classy but unpretentious environment. The dining room is elegant and upscale, but not stuffy, and the service was very attentive.

The guacamole, which is prepared table-side, is to die for and a must-order. I also ordered the duck mole and it was amazing, super flavorful without being overbearing.

You’ll be surrounded by a mix of locals and tourists in the know (some of whom have been coming here for years). 


One of the most popular restaurants in the city, Azul serves solidly good classic Mexican fare in a romantic atmosphere. 

There are two locations: one in the upscale Condesa district, and another one in Centro Historico, just next to the Zocalo. Both are super busy (for good reason!), so be prepared to wait or make a reservation.

The location in Centro HIstorico is particularly beautiful and is located in the courtyard of a historic hotel. You’ll get to dine under a canopy of trees and string lights – it’s absolutely magical!

The menu is full of traditional Mexican dishes, each representing a different region of Mexico. The tortilla soup is a must-order here – not only is it absolutely yummy, it comes in a super cool bowl topped with a ceramic calavera figurine. 

They’re also known for the mole here, but be aware that it is *super* rich and maybe not for everyone.

Il Fiorino

We stumbled upon Il Fiorino on the last day of our trip, when we found ourselves a bit taco’d out (I know, I know) and were craving some pasta. 

Il Fiorino is a bit of a hole in the wall, a cozy little spot tucked into a quiet street in Roma. The pasta is handmade, authentic, and delicious. You’ll find a variety of other Italian dishes here as well.

The owner and chef here is a guy from Tuscany, and is a super nice, interesting guy. Chatting with him was fun and added to the experience.

La Gruta

While technically not in Mexico City, La Gruta is definitely worth a stop if you trek out to Teotihuacan (and you SHOULD go to Teotihuacan). 

You’ll get the unique experience of dining inside a volcanic cave – like, how cool is that?! It’s also decorated with colorful chairs and twinkling string lights hung across the cave. It’s a complete vibe!

La Gruta serves traditional Mexican cuisine. The food is maybe not the best you’ll have in the city, but is solid and definitely holds its own. Trust me, it is worth dining here!

Best Tacos + Street Food

Mexico City is famous for its street food, and there are stands on seemingly every corner serving up everything from tacos, tamales, fresh fruit, and more. The Al Pastor tacos are especially super cheap and DELICIOUS. 

Afraid of food poisoning? Pick out the stands that have a crowd of people, who all look like professionals – these folks don’t have time to be sick, so it is a good bet that they are eating at a legit spot. 

Wanting to find the best taco joints and street food spots without having to look for them yourself? Take a food tour! Here are some recommended tours:

And now, here are some of my personal favorites for tacos + street food!

Taqueria Orinoco

Taqueria Orinoco is a CDMX institution often referred to as the “In-n-Out of Mexico City.” Partially because it’s a local chain that’s got locations all over the city. Partially because of the red and white branding. And also because it’s inexpensive and delicious!

They’ve got bistec and al pastor tacos, but they’re known for the chicharron tacos, which is 100000% a must try here. It’s got a unique texture – seared crispy on the outside, tender on the inside. You can get it tostada style too, which I highly recommend for even more textural variety!

All the tacos come with a side of potatoes, which make for a unique side but somehow goes really well.

Another plus is that they’re open super late (until 5am some days), so you can fulfill your taco cravings at any hour!

Tacos Don Juan

You’ll find some of Mexico City’s best tacos at Tacos Don Juan. They’re known for their sudadero (sliced beef) and quesabirria (served only on the weekends). However, they focus on a different type of meat each day, so you might get something different. 

Regardless of what type of meat they have that day, the tacos are absolutely delicious! It was carnitas day when I went, and I still had some of the most amazing tacos. The meat was super tender and flavorful.

We saw a food tour come through while we were here, so you *know* it’s going to be good!

Las Esquina de Chilaquil

This street food stand is known for one thing – the chilaquiles torta. It was even featured on a Netflix show!

As a self-proclaimed chilaquiles fanatic, I had to try it in sandwich form. It comes with a pollo milanesa (a thin pan-fried chicken breast), and is topped with chilaquiles in red or green sauce. It was quite tasty and flavorful, and very unique!

Each sandwich costs 60 pesos and they’re HUGE – me and my friend shared one and it was the perfect amount.

Las Esquina de Chilaquil is super popular – it opens at 8:30am, and by the time we got there, the line was already down to the end of the block. Thankfully, the line moves pretty fast.

Best Dessert Spots

Churreria el Moro

Confession: Everytime I go to Mexico City, I end up going to Churreria el Moro multiple times. On one trip, I totally went 6 times in3 days. Yes, it’s THAT good (and I’m also a sucker of their cute branding).

El Moro has been around since 1935, and is still super popular today. While I thought the churros were just okay (don’t kill me, but I think Disneyland’s are better), I couldn’t get enough of the consuelos (ice cream sandwiches) – I had at least one every day.

You’ll find locations all around the city, but some of them are better (and cuter!) than others. My favorites are the one in Polanco (on Mariano Escobedo) and the one in Roma Norte (on Calle Genova). But really, you can’t go wrong with any of them!

(PS – I was excited to see that they opened up their first US location, right at home here in Orange County, CA!)

Pasteleria Ideal

If you walk through the Centro Historico, you might see some people carrying blue and white pastry boxes and wondering what it is and where it came from. Well folks, the boxes contain some delicious pastries from Pasteleria Ideal!

Walking into Pasteleria Ideal without knowing anything about it (except that it was one of the best bakeries in town), we were completely overwhelmed. They have multiple locations, but we walked into the one in Centro Historico, which is HUGE. 

You’ll see hundreds (maybe even thousands?) of trays with a massive array of pastries, cakes, buns, cookies, and more. There were also tons and tons of people here, all of whom seemed to know about a system for ordering that we had no clue about.

After standing there confused for a bit, we finally figured out what was going on – you grab a tray and fill it up with all the goodies that you want. Then you walk up to another counter where package it up for you and hand you a number. Meanwhile, you take the number to a register where you pay.

We grabbed a few pastries to snack on, although we wish we had room to try more, because there were soooo many yummy things here!


We stumbled upon Ficelle one night while we were walking down the street after dinner and were intrigued by the delicious looking desserts and cute interior.

You’ll find a mouthwatering selection of tarts, cakes, and more lined up on the counter. We selected a few of the mini tarts, which were so cute and delicious! We especially loved the lemon one and the fig one.

Have you been to Mexico City? What are some of your go-tos for where to eat in Mexico City?

You might also like:
3 Days in Mexico City: Complete Itinerary + Guide

Liked this post? Save this Mexico City food guide to Pinterest for later!