Last year, I visited Mexico City with my husband for the first time. It’s a fascinating city to explore, with incredible architecture, great shopping spots, and fantastic Mexican cuisine.
If you’re a food lover, you’ll be spoiled for choice in Mexico City. You can browse through food markets selling the freshest local produce, explore the street food scene and tuck into street tacos, or indulge your love of fine dining in Michelin-starred restaurants.
In fact, you can even combine the last two, as Mexico City boasts the world’s first taco bar with a Michelin star!
I enjoyed some really great meals in Mexico City, so I’ve rounded up my pick of the best Mexico City restaurants.
My selection includes cool spots for people-watching, innovative restaurants with imaginative menus, and the perfect place to pick up your morning coffee and pastries. I’ve also included some of the places I hope to visit next time I visit Mexico City.
Blanco Colima
My top recommendation for the best places to eat in Mexico City is a very hip restaurant called Blanco Colima in the Roma Norte area of the city.
It’s located in a jaw-droppingly beautiful Porifian-style house, designed in the style of a Parisian mansion with very high ceilings, tiled floors, and ornate details. The beautifully-lit atrium is filled with plants for a lush, natural ambiance, and the live DJ set gave the whole experience a very cool vibe.
There’s a large dining room downstairs and the balcony overlooking the main dining area is a great spot for people-watching. If the weather is good, there are also outdoor seating options.
The menu here is both elegant and avant-garde. Like many Mexican restaurants, seafood features heavily on the menu, and the tuna tacos are particularly fantastic.
If you’re not in the mood for fish, there are plenty of meat options to satisfy your tastes. The beef tacos were amazing, and the steak options looked good, too.
I absolutely loved the cool lemon dessert, featuring a white chocolate lemon ganache inside a whole confited lemon. It looked amazing, and the flavor was exceptional.
The 7-course tasting menu is a good option to experience the range of Blanco Colima’s adventurous options. Expect the unexpected, from the gordita with octopus crackling to the milhojas dessert that ends your meal.
Blanco Colima was certainly the hippest restaurant we visited in Mexico City, and it was probably my favorite in terms of food. Reservations are required, so book early to avoid missing out.
Address: Colima 168, Roma Nte., Cuauhtémoc, 06700 Ciudad de México, CDMX.
Restaurante Rosetta
Restaurante Rosetta is a quaint yet upscale restaurant next to Blanco Colima in the heart of Roma Norte. It’s one of the best restaurants in Mexico City and has been awarded one star by the prestigious Michelin Guide. Chef Elena Reygadas was also named Latin America’s Best Female Chef in 2014, so my expectations were high.
There’s a lot going on at Rosetta. Reaching your table will take you up and down staircases and through narrow hallways that makes the restaurant feel slightly chaotic. I was relieved to be seated in a private dining room when we visited as part of a group event!
The decor here is slightly whimsical and old-fashioned, with reclaimed wood tables, old-fashioned chairs, and mismatched china. It’s very picturesque and gives Rosetta a quaint and fascinating vibe.
The menu is a fusion of Mexican and Italian cuisine, and changes to reflect the best seasonal ingredients. Expect to see traditional Mexican favorites like corn tamales and esquites, elegant risottos, and unusual options like butter with chicatana ants. The desserts here are highly recommended, and the Melipona honey jelly with brown butter ice cream is a must-try.
The food at Restaurante Rosetta was good, but it wasn’t my favorite place to eat in Mexico City. However, I’d definitely recommend a visit here for the quirky decor and overall vibe.
This restaurant is very popular so getting a reservation can be tricky. Book early, and be prepared to be flexible about timings.
Address: Colima 166, Roma Nte., Cuauhtémoc, 06700 Ciudad de México, CDMX, Mexico
Panadería Rosetta
If you’re looking for a great breakfast spot in Mexico City, Panadería Rosetta is one of the best places to grab coffee and pastries. This rustic bakery and coffee shop in the Roma Norte neighborhood is just a few minutes walk from Restaurante Rosetta. Both are run by acclaimed chef Elena Reygadas.
The Panadería opens early for breakfast and brunch, serving perfectly flaky croissants, chocolate-vanilla concha (a cookie-crusted roll), and their famous rol de guayaba (guava roll).
If you visit at peak brunch time, expect to wait in line for up to an hour. There’s a limited amount of seating, so you’ll likely have to join a waitlist for a table. Alternatively, take your pastries and coffee to enjoy in the nearby park.
Panadería Rosetta also opens for lunch with a range of salads, sandwiches, and savory dishes like chilaquiles.
Address: Colima 179, Roma Nte., Cuauhtémoc, 06700 Ciudad de México, CDMX
Contramar
Contramar is a seafood restaurant in the trendy Roma Norte neighborhood. Locals have been flocking there for over 20 years, and it’s often considered one of the best restaurants in Mexico City. It was also personally recommended to me by some friends who had visited, so I was excited to try it.
As soon as you walk in, it’s clear that Contramar is a seafood restaurant. The menu is filled with fresh fish and seafood, and the airy space has a blue-and-white ‘under the sea’ vibe. You can also sit outdoors on a lush, plant-filled patio.
Contramar is also a very sociable place to eat. Most groups of diners will order one main dish along with a bunch of small plates to share, tapas-style.
The small plates range from sushi and sashimi to fresh oysters and more traditional Mexican dishes like their famous Tuna Tostadas, which were excellent.
However, the main event at Contramar is the Pescado a la Talla. This is a whole fish you order according to the number of diners in your group.
Your fish is grilled and each half is coated in a red adobo sauce or a green parsley sauce. When the fish is brought to your table, your server will remove the fish from the bones and serve it to you. It’s a little bit of showmanship that adds an extra-special touch to your meal at Contramar.
Reservations are required, and this restaurant is so popular that you wouldn’t want to leave your visit to chance. We really enjoyed our meal at Contremar, and it’s highly recommended!
Address: Calle de Durango 200, Roma Nte., Cuauhtémoc, 06700 Ciudad de México, CDMX.
Pujol
Pujol is perfect if you love fine dining or are celebrating a special occasion in Mexico City. This chic 2-Michelin-starred restaurant was founded by Chef Enrique Olvera in 2000, and in 2017, Pujol moved from its original home to its current location in the artsy Polanco district.
Chef Olvera uses the best local ingredients and techniques from Mexico’s heritage to create an imaginative experience.
Choose the seven-course tasting menu to enjoy the full Pujol experience, including the restaurant’s signature Mole madre, or “mother mole,” made with Chilhuacle chile peppers, or crispy fried chicken skin (chicharron) garnished with ant larvae (escamoles) and macadamia nuts.
Alternatively, the omakase menu features some of chef Olvera’s favorite dishes. These could include options like Margarita scallop served with vanilla guacachile or crab toast topped with chicatana ants.
It’s no wonder that Pujol regularly features on the world’s best restaurant lists. Reservations are required, so book ahead to avoid disappointment.
Address: Tennyson 133, Polanco, Polanco IV Secc, Miguel Hidalgo, 11570 Ciudad de México, CDMX.
San Angel Inn
San Angel Inn is a modern Mexican restaurant in a traditional hacienda dating back to the 1700s. The property has changed owners several times throughout the centuries, and opened as the San Angel Inn Restaurant in 1963.
San Angel Inn appears on all the must-visit lists for Mexico City, so we were really keen to try it out.
The restaurant’s owners have taken great care to preserve the historic nature of the hacienda and its stunning gardens.
The decor is beautiful, but the large dining room feels pretty impersonal, and there’s a massive amount of seating. Once you’ve been shown to your table, it feels like they kind of forget about you for a while.
There’s also quite a large menu with a lot of meat, chicken, fish, and seafood dishes, along with pasta dishes and some sharing plates like tacos and tostadas. However, the cuisine isn’t particularly traditional and doesn’t have a strong theme like at Pujol or Masala y Maiz.
The food was good, but not exceptional like the food we enjoyed at Contramar or Colima Blanca. In fact, I had to look back through my photos to remind myself what I ordered. I guess that shows the food wasn’t especially memorable.
The location is beautiful, the general vibe is nice enough, and the mariachi band playing around the property was pretty cool.
However, San Angel Inn wasn’t as memorable as other Mexico City restaurants and I’m not in a hurry to return. If you do decide to visit San Angel Inn, advance reservations are required.
Address: Diego Rivera 50, San Angel Inn, Alvaro Obregon, 01060 Mexico City, CDMX.
Masala y Maiz
Masala y Maiz is a popular restaurant in the Colonia Centro neighborhood at the heart of Mexico City. It’s an innovative eaterie that blends the shared flavors and histories of three continents.
“Maiz” refers to the traditional Mexican dishes on the menu, which are combined with ingredients and techniques from Indian and East African cuisine, represented by “Masala.”
Crowds of enthusiastic diners enjoy an imaginative menu featuring dishes like samosas de suadero, paratha quesadillas, and chilpachole with crab. The light lemon tea panna cotta provides a refreshing finale to your meal.
There’s also a good selection of local natural wine, beers, kombucha, and hand-crafted cocktails.
Online reservations are recommended at Masala y Maiz, as this small, industrial-chic restaurant is always very popular.
Address: C. Artículo 123 116, Colonia Centro, Centro, Cuauhtémoc, 06040 Cuauhtémoc, CDMX.
Restaurante Nicos
Restaurante Nicos started out nearly 70 years ago as a simple stand selling snacks and drinks. It grew into a popular restaurant which is now run by the son of the original owner, María Elena Lugo Zermeño.
Visit Restaurante Nicos for delicious, classic Mexican cuisine like duck mole, tacos stuffed with crispy beef jerky, or enchiladas filled with tasajo and covered in Oaxacan pixtle sauce. Nicos is also a great breakfast spot, serving fresh juices, eggs cooked to your preference, and chilaquiles, one of my favorite things for breakfast in Mexico.
The food here is fantastic, but the service makes Restaurante Nicos really special. The restaurant still has the charming family atmosphere that has made it popular for nearly 70 years, while the roving dessert cart and dishes prepared at your tableside add a touch of flair to your meal.
Reservations aren’t required, but you can book online. English menus aren’t provided here, so keep your phone handy to help with translation.
Address: Av. Cuitláhuac 3102, Claveria, Azcapotzalco, 02080 Mexico City, CDMX
Taquería El Califa de León
You don’t need to visit a fine dining restaurant for Michelin-starred cuisine in Mexico City. Taquería El Califa de León was awarded a Michelin star in 2024, the first time a star has ever been awarded to a taco stand.
El Califa de León has been delighting locals and visitors to the San Rafael neighborhood of Mexico City for over 50 years. And when you sample the taquería’s amazing Gaonera taco, you’ll understand why the Michelin inspectors were so impressed.
High-quality beef filet is thinly sliced and cooked to perfection, seasoned with just a little salt and a squeeze of lime juice. There are just a few other taco options on the menu, including chuleta (pork chop) and costilla (beef rib), and the tacos and salsas are freshly prepared, too.
Reservations aren’t required at Taquería El Califa de León. Payments are cash-only, so you can leave the credit card in your wallet.
Address: Av. Ribera de San Cosme 56, San Rafael, Cuauhtémoc, 06470 Ciudad de México, CDMX
Handshake Speakeasy
From the outside, the Handshake Speakeasy cocktail bar doesn’t look too special – there’s no flashy signage on the building’s exterior. But this tiny bar in the Colonia Juárez neighborhood was voted the Best Bar in North America in 2024, so it’s well worth a visit.
As you might guess, Handshake Speakeasy leans heavily on the Prohibition-era style, with plush velvet curtains leading through to an intimate bar filled with black and gold, Gatsby-style decor. Head downstairs into the basement, however, and the energetic vibe is very Mexico City.
The cocktail menu here is quite minimalist, but each cocktail is a work of art, featuring unusual ingredients and textures that take hours of complex preparation. There are a few different seating options, but if you get a chance, sit at the bar to watch the mixologists at work. A small range of food is available at the bar, too.
Reservations are required, and you can book through the website.
Address: C. Amberes 65, Juárez, Cuauhtémoc, 06600 Ciudad de México, CDMX
As you can see, there are some fabulous places to eat in Mexico City, whether you’re craving upscale tacos, imaginative fusion cuisine, or traditional seafood served with style.
I really enjoyed my gastronomic experiences in Mexico City, and I can’t wait to explore more of the city’s best restaurants!