The 16 Best Restaurants in Mexico City

Mexico City has been on my travel list for quite a while because of its diverse art culture, innovative restaurants, and friendly locals. I spent five days in Mexico City in June, and it was a fun-filled adventure.

Below are the places I personally visited for food and drinks, and enjoyed throughout my trip. Note that while we typically provide website and Yelp links, Yelp isn’t as common in Mexico, so reviews are sparse. Most Mexico City restaurants appeared on websites like TripAdvisor and Google.

After our week spent in Mexico we flew south to Oaxaca to explore the city and try the delicious eats–check out our guide of the best restuarants we had in Oaxaca!

Expendio de Maíz Sin Nombre

beef taco with avocado and tomatoes

This was the most interesting restaurant we visited on our whole trip. It was delicious, unexpected, and amazing quality, and it’s not that expensive either–the best bang for buck meal we had.

I was most excited about this restaurant and even woke up early to ensure I got a spot in the morning. Expendio de Maíz Sin Nombre is as mysterious as its name which roughly means “nameless corn sale.”

There are no reservations, no menus, and no credit cards accepted. You will find an outdoor restaurant serving a random set of courses based on traditional Mexican dishes that focus on tortillas. You just sit down, and they bring out food, you tell the servers whenever you’re ready to stop, and they’ll hand you your bill. 

I know this sounds very unconventional, but you did get a pep talk at the beginning where they asked you about your allergies and informed you of the price range for the dishes served that day. Each course was anywhere between $80 to $300 MXN on the particular day I attended. For someone like me who’s used to bringing credit cards, make sure to bring at least $800 MXN per person, just in case. Our meal for three people was $1,500 MXN with a tip for five courses. Again I would say this was the best bang for your buck in Mexico City. 

Expendio de Maíz Sin Nombre - enchilada with mole

This place was worth it and ended up as my favorite restaurant. The first course with a plain tortilla and cotija cheese was amazing. My favorite dishes were the beef sopas and the carnitas tostada. We wish we could eat more. 

My best tip is to go during the week and in the morning to beat a potential rush of people. While we got the first pick of seats on a Tuesday morning at 9:20 a.m., I read online that some people had to wait hours to get a seat. 

Type of food: Mexican
Price: $$ ($500 MXN / $30 USD pp)
What to order: no menu
Neighborhood: Roma Norte
Address: Av. Yucatan 84, Roma Nte., Cuauhtémoc, 06700 Ciudad de México, CDMX, Mexico
Website | Tripadvisor | Google  

Quentin Cafe

Quentin Cafe - machiatto and an amazing concha

I was starting to give up on good coffee and lattes in Mexico City when I luckily came across Quentin while waiting for Expendio de Maíz Sin Nombre to open. There are multiple Quentin locations throughout Mexico City in Roma Norte, Condesa, and Juárez. 

This was the best coffee I’ve had in Mexico City, and it was really the only one of its type I found that matched my tastes, which is the 3rd wave specialty coffee scene in America. Many shops in CDMX try to replicate the look and buy coffee brewing tools as props, but this coffee shop brings the actual taste.

This unassuming cafe is made up of a small counter and a few tables and chairs on the corner block. At 9:00 a.m., a handful of people were already enjoying a coffee outside, so I decided to pick up a pour-over and a pastry for breakfast. I also liked the concha here because of its light and airy texture and crispy crust that is much more similar to a French choux than other dry and flaky conchas I’ve tried. 

Type of food: Cafe, Pastries, Coffee
Price: $ ($167 MXN / $10 USD pp)
What to order: Concha, flat white, pour over
Neighborhood: Condesa, Roma Norte, Juárez
Address: Multiple
Website | Tripadvisor | Google


Pujol - baby corn snack

Possibly the most famous restaurant in Mexico City, Pujol was a necessary (and my favorite) stop. Located in Mexico City’s upscale district of Polanco, Pujol looks unassuming from the street, but once you walk past the gate, you enter another world. The first thing you notice is Pujol’s thought-out interior and exterior design – it was like stepping into a serene and lush garden mixed with organic and natural materials. 

Pujol - conch ceviche

Pujol’s popularity means you must get a reservation at least a month ahead. When you book your seats, you can sign up for the 12-course omakase at the bar or a traditional seven-course tasting menu. I had a 6:30 p.m. reservation, and dinner took roughly 2-3 hours, so plan your night accordingly. Everyone at the table was absolutely stuffed after the seven-course tasting. 

nine year old mole, and fresh mole

My favorite dishes were the conch snail ceviche with fresh green peas and corn, mussels al pastor, and the mole madre 3136 and mole nuevo. The ceviche introduced me to new flavors to pair with fresh seafood, like earthy peas and sweet corn. I had to do a double take while eating the mussels al pastor tacos because they had such a meaty, savory flavor when matched with thin strips of torched pineapple. And lastly, the mole madre 3136 (aka it’s a nine-year-old mole!) had such a rich depth of flavor that contrasted perfectly with the mole neuvo’s spiciness.

the best, and tiniest cream filled concha ever

Let’s also not forget, the best and the smallest concha we had was from here too.

While Pujol was the most expensive meal in Mexico City, I would say the innovative dishes and beautiful environment were well worth the price. 

Type of food: Modern Mexican, Fusion
Price: $$$$ ($6033 MXN / $360 USD pp)
What to order: tasting menu 
Neighborhood: Polanco
Address: Tennyson 133, Polanco, Polanco IV Secc, Miguel Hidalgo, 11550 Ciudad de México, CDMX, Mexico
Website | Tripadvisor | Google


Contramar - interior seating

Contramar is a constant on Mexico City blogs, and I was a little apprehensive because sometimes famous restaurants are overhyped, but I’m so happy I was proved wrong. If you’re big on seafood and Mexican cuisine, come and have one of the best meals of your trip. Also located in popular Roma Norte, 

The vibe is a fancy beachside restaurant in the middle of Mexico City. White tablecloths are mixed in with wooden decor and seaside art on the walls. If there’s one thing I would recommend, it is to make a reservation ahead of time. Seats open one month ahead and go quickly, so set an alarm. I recommend going for lunch and sharing a meal with friends to try more items. 

Contramar - fig tart

My favorite dishes were the tuna tostadas, fried soft-shell crab tacos, fresh clams, and grilled octopus. Surprisingly, our group didn’t care for their most famous dish, the pescado a la talla. It needed more salt and flavor, in my opinion. However, don’t skip out on the dessert because, until this day, we still talk about the amazing fig tart.  

Type of food: Seafood, Mexican
Price: $$$$ ($2,514 MXN / $150 pp)
What to order: tuna tostada, fried softshell crab tacos, grilled octopus, fresh clams, and fig tart 
Neighborhood: Roma Norte
Address: Calle de Durango 200, Roma Nte., Cuauhtémoc, 06700 Ciudad de México, CDMX, Mexico 
Website | Tripadvisor | Google 


Migrante's brisket bao

While researching new restaurants in Mexico, Migrante was a common topic. Located in Roma Norte, Migrante features international cuisine with a braised brisket bao and cauliflower tortellini menu. The modern design and open kitchen concept remind me of many restaurants in Los Angeles. 

While the presentation was as beautiful as the interior design, we both agreed that some dishes needed an extra balance: mainly, they lacked salt and acid, like the ceviche and foie gras churros. They offer both a tasting menu and a la carte ordering methods, so we recommend the latter. I recommend sticking with the bao and the tortellini. 

Migrante - champagne and dessert

If you’re looking for a place for a fancy birthday dinner or anniversary, Migrante is a place for great photos and ambiance. Make sure to make a reservation ahead of time. I also liked that they are very responsive to messages through OpenTable if you need to adjust seating arrangements or timing. There’s indoor and outdoor seating, but if you want the best vibes, stick with the standard indoor seating. 

Type of food: International
Price: $$$ ($1,257 MXN / $75 USD pp)
What to order: Braised brisket buns and braised cauliflower tortellini 
Neighborhood: Roma Norte
Address: Chiapas 186, Col. Roma Norte, Ciudad de México, CDMX 06700
Website | Tripadvisor | Google

Handshake Speakeasy Bar

Handshake Speakeasy - fresa niña

Let’s be real, a lot of the research that went on during this trip regarded the ever-famous 50 Best List (both restaurants and bars) in the world. So it’s no wonder we visited Handshake Speakeasy Bar, which did not disappoint. Never have I walked into any bar with such enthusiasm from the bartenders/hosts. This place is relatively small, so we wouldn’t necessarily recommend groups larger than four or five attend. 

As the world’s 11th-best bar, it’s important to make a reservation online at least two weeks ahead of time to get a good slot. Each slot is a 90-minute reservation, so don’t be late. Since it’s a speakeasy, you do have to use your investigative skills somewhat to find it (Google!). Under a big 13 sign with a black door, you’ll wait outside, and a bartender/host will let you in and explain the rules. 

Handshake Speakeasy - Coco Bongo cocktail

Once inside, you’re happily greeted as you take your assigned seats. You are handed a huge bar menu filled with cool illustrations dedicated to Handshake’s bartenders and other important mixologists in Mexico City. While there’s a huge list of concoctions, everything we ordered was perfectly made and innovative. We liked the Coco Bongo that included a teardrop of mango puree that breaks once you sip from the top of a large ice cube and spills onto the coconut liquor in the glass. The Niña Fresa was also refreshing with spicy tequila, strawberry, lychee, and vanilla flavors. 

Type of food: Cocktail bar
Price: $$ ($502 MXN / $30 USD pp)
What to order: Coco Bongo and Nina Fresa
Neighborhood: Juárez
Address: C. Amberes 65, Juárez, Cuauhtémoc, 06600 Ciudad de México, CDMX, Mexico 
Website | Tripadvisor | Google

Máximo Bistrot

Máximo Bistrot - baby elote

Máximo Bistrot is another restaurant with a beautiful interior design and good food. Due to its popularity, I made a reservation for our large party of five at least two weeks ahead of time. We sat at a nice round table with ample space for all the ordered dishes and plenty of room for drinks. 

You can order a la carte or a tasting menu with nine courses. Since I dined with a large group, we ordered a la carte. Some of our favorite dishes were the mushroom soup, which was not too fatty, but still full of umami flavor; baby elotes that changed our minds about eating baby corn; and the duck liver with bread rolls. The bread rolls were amazingly fluffy and paired well with the rich pate. 

Máximo Bistrot - porcini mushroom soup

We ordered a total of 10 dishes for five people and were utterly stuffed by the time they gave us a free birthday dessert of citrus-flavored flan–really good. The price point is expensive, so I would suggest Máximo as a celebratory dinner. One issue I had with Màximo was its interchangeable name on several platforms. I kept getting confused because some places named it Máximo (Google and OpenTable), and others called it Máximo Bistrot (Instagram). Just make sure you’re making the right reservations on OpenTable, and you should be good.  

Type of food: International
Price: $$$$ ($1,960 MXN / $117 USD pp)
What to order: porcini mushroom soup, chicken liver parfait, baby corn, and flan 
Neighborhood: Roma Norte
Address: Av. Álvaro Obregón 65 Bis, Roma Nte., Cuauhtémoc, 06700 Ciudad de México, CDMX, Mexico
Website | Tripadvisor | Google 


Imbiss - ceviche

Imbiss was a wonderful surprise, and I’m glad our friends made a reservation at this unassuming restaurant in Juárez. It’s known to be a great wine and cocktail bar, but there are lots of dishes that my group all loved. Some of our favorites were the freshly baked bread with black garlic butter, tender grilled octopus, and their namesake fried chicken (similar to karaage). If you want a wild ride and fulfilled taste buds, order the bone marrow because it comes with a savory shot of whisky on your bone marrow luge. 

Imbiss - fried chicken

We had a group of five seated on a higher floor with a private dinner table large enough for a party of six. The only issue with this restaurant was that the table location was super hot compared to the rest. Hosts and servers only speak Spanish here, but they were nice to us even though sometimes we couldn’t find the right Spanish words.

Type of food: International
Price: $$ ($620 MXN / $37 USD pp)
What to order: Imbiss fried chicken, bread, bone marrow, ceviche, octopus, and drinks! 
Neighborhood: Juárez
Address: Oslo 8, Juárez, Cuauhtémoc, 06600 Ciudad de México, CDMX, Mexico 

Taqueria Orinoco

Taqueria Orinoco - three types of tacos with fixings on the side

Taqueria Orinoco is a solid spot to grab lunch or light dinner, but not a must-visit. Our friends say another location they tried of this chain was better before this company branched into multiple chains. It’s located in seven districts like Condesa and Polanco, and I visited the Roma Norte location after taking a shopping break. It has a retro, red, and white branding that reminds me of In-N-Out back home. 

Their menu is based on northern-style tacos of Monterrey and is a quick dining situation where you wait outside for an employee to tell you to order. You get shown to your table and seated with a bunch of salsas. My favorites were the beef and al pastor tacos – these are no-nonsense but still full of flavor and tender meat pieces. We also got a side of fried, smashed potatoes that were smashed and fried to a crispy texture; They needed salsa and sauce on top for extra saltiness, but I loved eating them with the tacos nonetheless. 

If you want to eat here, there’s typically a line outside about 10-20 people deep, depending on when you arrive, but it goes by fast. The workers will find you a spot to sit and won’t take your order until they know there’s room available. 

Type of food: Tacos, Mexican 
Price: $ ($167 MXN / $10 pp)
What to order: trompe and beef tacos, costras trompo, fried potatoes 
Neighborhood: Roma Norte, Colinas de San Jeronimo, Colonia Tecnologico, Col. Del Valle, Polanco, Hipodromo, and Juárez 
Address: Various 
Website | Tripadvisor | Google 

Xochimilco Tour – All Inclusive Art-Food-Drinks

Xochimilco Tour - colorful boats on the river

The floating gardens of Xochimilco are a UNESCO world heritage site, and it’s known for the colorful long trajinera boats along the Xochimilco canals and man-made islands. We booked this tour through Airbnb Experiences, including transportation, a meal of tacos and tlyudas, drinks, a small market tour, and a trip up and down the canals. The entirety of the tour took about five hours, and booking online was really easy. 

Our tour guides, Oscar and Gaby, were super nice and gave us interesting information about Mexico City and Xochimilco during the commute. I also got to try pulque, a fermented sap of the agave plant, and samples from someone jumping from boat to boat selling snacks and traditional Mexican candies. 

Xochimilco Tour - taco plate

The food included was decent and homemade, and if you love Micheladas, I recommend upgrading your drinks and ordering these giant-sized refreshments. This was a unique experience, and I recommend taking a tour unless you feel comfortable bartering a seat and buying your food from the stands at the ports.

Type of Activity: Tour 
Price: $$$ ($1,324 MXN / $79 USD pp)
Neighborhood: Xochimilco

Panaderia Rosetta

Panaderia Rosetta - pastry case wit guyaba

Panaderia Rosetta is a trendy cafe in Mexico City, and even with the long lines out the door, it’s worth it. This is the sister cafe to Chef Elena Reygadas’s Italian restaurant Rosetta; both are located in Roma Norte. There’s also another location off of Puebla with more seating. 

All the pastries I tried were buttery, flaky, and worth the quick wait. My favorites are the guava and cheese pastry and the croissant; it was like going to a French bakery because all the puff pastry items were so fresh and high quality. However, I didn’t love the coffee I ordered because it was a little lighter than American-style coffee, which I prefer. 

Type of food: Pastries, Cafe 
Price: $ ($168 MXN / $10 pp)
What to order: Guava and cheese pastry, croissant 
Neighborhood: Roma Norte
Address: Colima 179, Roma Nte., Cuauhtémoc, 06700 Ciudad de México, CDMX, Mexico 
Website | Tripadvisor | Google 

Baltra Bar

Baltra Bar - group of cocktails

On the rest of the world’s best bar tour, I checked out Baltra Bar in Condesa. It’s 32nd on the list and was founded by José Luis Leon, who also owns another Licorería Limantour, another famed bar in Mexico City. The modern maritime decor and menu reflect the bar’s overall theme of evolution and exploration. Baltra’s namesake is one of the islands Darwin visited in the Galapagos. 

If you like alcohol-forward drinks, then this is your place to be. I went with a group and got to try various drinks that ranged from classic old fashions to more refreshing gin cocktails. If you want a lighter and citrusy drink, I recommend the Sumi, which is made of gin, yuzu, and jasmine. This bar was a block from my hotel, and it was easy to reserve a spot online. 

Type of food: Cocktail Bar
Price: $$ ($419 MXN / $25 USD pp)
What to order: Sumi (gin with yuzu and jasmine tea) 
Neighborhood: Condesa 
Address: Iztaccihuatl 36D, Colonia Condesa, Cuauhtémoc, 06100 Ciudad de México, CDMX, Mexico
Website | Tripadvisor | Google 

Licorería Limantour

Licorería Limantour bar

Licorería Limantour was also on my list because it’s the fourth-best bar in the world (dubbed by the famed 50 Best Bars list). Second to only Handshake Speakeasy, this bar had a chill and relaxed vibe with lots of seating and available reservations. It’s located in Roma Norte and near some great taco carts if you get hungry at the end of the night. 

I liked ordering the Kiwitini, made of gin, sherry, Chartreuse, lemon, and kiwi lacto ferment–this drink was refreshing and bright. For people who are also non-alcoholic, there was one mocktail available called Mr. American that was a light spritz with Topo Chico and strawberry syrup. If you’re looking for a fun and affordable bar to hang out at night, Licorería Limantour is a nice spot. 

Type of food: Cocktail Bar
Price: $$ ($335 MXN / $20 USD pp)
What to order: Kiwitini and Mr. American
Neighborhood: Roma Norte
Address: Av. Álvaro Obregón 106, Roma Nte., Cuauhtémoc, 06700 Ciudad de México, CDMX, Mexico
Website | Tripadvisor | Google

Derba Matcha Cafe

Derba Matcha Cafe - rolled croissant and latte

Derba Matcha Cafe was a convenient breakfast for me during my stay at the Andaz Hotel because it’s located inside the lobby. They have a full menu of breakfast meals like chilaquiles or huevos rancheros and have a full coffee bar and pastries. Premade sandwiches are also available if you don’t have time to sit and eat. While the coffee was mediocre, I enjoyed its chocolate croissant roll because of its flaky buttery texture. 

There are a lot of seats available in the eclectic-designed interior, and I’ve seen plenty of guests use the bar seating for working during the day. You have the option of ordering from the counter or ordering at your seat. 

Type of food: Cafe
Price: $$ ($550 MXN / $32 pp)
What to order: croissant roll
Neighborhood: Condesa
Address: Aguascalientes 158-Piso 1, Colonia Condesa, Cuauhtémoc, 06100 Ciudad de México, CDMX, Mexico 
Website | Google

Cabuya Rooftop Restaurant

Cabuya Rooftop Restaurant - mushroom tacos

The Andaz Hotel also includes the Cabuya Rooftop restaurant, and it’s a great place for tasty drinks, live music, and a beautiful skyline in Mexico City. With a nearby infinity pool, this rooftop bar has lots of seating for hanging out during the day or night. 

Surprisingly, this was one of my favorite spots for ceviche because all the seafood was fresh, and there was a balanced amount of acid and salt. I also loved the mushroom tacos with creamy cilantro sauce and a refreshing Aperol spritz that you can return to your room. 

Remember, this restaurant is mostly outdoors with an overhang, so there might be better options for windy or rainy days. If you’re staying at the hotel, you’re welcome to swim and eat at the available lounge seats. 

Type of food: Mexican, seafood, International
Price: $$$ ($1086 MXN / $64 pp)
What to order: Ceviche, Aperol spritz, and mushroom tacos 
Neighborhood: Condesa
Address: Aguascalientes 158-Piso 1, Colonia Condesa, Cuauhtémoc, 06100 Ciudad de México, CDMX, Mexico 
Website | Tripadvisor | Google 

Churrería El Moro

Churrería El Moro - four long churros with caramel dip

I am a churro lover and was excited to eat the fresh and crispy churros in Mexico City. Churrería El Moro has multiple locations all over the city, and I tried the spot in Juárez on a hectic Pride night. You can order churros to go or get tableside service. Churros are made fresh to order, and you can choose from many variations, like plain churros or churro ice cream sandwiches. 

The plain churros come in long strands of 14-inch long pieces and four in a set with the option of three dips: chocolate, cajeta, and condensed milk. All the options are a steal at about $42 MXN (about $2.50 USD) for four churros – we easily shared this with multiple people. The quality is miles above Costco churros and much lighter than Disneyland churros. I would definitely go back to this spot. 

Churrería El Moro - patterned interior upstairs seating

Type of food: Dessert, churros
Price: $ ($40 MXN / $2.50 pp)
What to order: churros with cajeta dip 
Neighborhood: Historic Center, Polanco, Condesa, Roma Norte, Colonia Santa Fe, Cuauhtemoc, Juárez, Azcapotzalco, Moctezuma, Metepec, Coyoacan, Tepeyac Park, and Artz Pedregal
Address: Various 
Website | Tripadvisor | Google

See more restaurant travel guides

If you enjoyed my restaurant guide here for Mexico City, check out the other cities I have visited and made restaurant guides for!:

Like this recipe? Subscribe to my newsletter!

Leave a Reply

Your email address will not be published. Required fields are marked *