The best restaurants in Mexico City
A local food writer shares her verdict on the best restaurants in Mexico City, taking in tacos, tamales and gorgeous interiors

The best restaurants in Mexico City offer a glut of gastronomic experiences at different price points. Different perspectives of Mexican cooking are expressed through the sheer choice of dishes, techniques, ingredients, and influences from other latitudes.
Mexico City – or CDMX as locals refer to it – is a constant contrast of high and low: on one hand, it is home to traditional restaurants that have written the history of Mexico City around their tables; on the other, it is a destination bursting with new concepts run by young chefs with a casual hospitality style and an eclectic approach to cooking.
A comprehensive itinerary of the best places to eat in Mexico City must include a requisite mole (a classic Mexican sauce) and some elevated version of a taco – but it must also explore the relatively new but already prominent trend for natural or low-intervention wines from local producers alongside small sharing plates (not to mention creative cocktails at the city’s forward-thinking bars). It is also home to an thriving street food scene, spanning indoor and outdoor markets.
To experience this incredible culinary scene from top to bottom, a local food writer shares her selection of the best restaurants in Mexico City.

Centro Histórico (Historic Centre)
El Cardenal
Best for: traditional Mexican dishes; white tablecloth setting
Location: Calle de la Palma 23, Centro Histórico, Cuauhtémoc, Mexico City, 06000
Price: starting at 100 MXN / 5 USD
With 40 years of history, El Cardenal is an absolute classic in Mexico City’s Centro Historico neighbourhood and one of the first restaurants in the city to emphasise the origin of its ingredients. The service and ambiance are traditionally formal, with white tablecloths and a pianist playing melodies in the background. However, the restaurant has a casual atmosphere, which makes it a local favourite for breakfast and lunch. El Cardenal offers a seasonal menu including traditional Mexican dishes, such as escamoles, chile en nogada (chillies stuffed with a walnut cream), or cod a la vizcaina (salted cod). El Cardenal is one of the best places to try escamoles (ant larvae): they are carefully sourced, and are presented sizzling in a clay pot, alongside freshly made tortillas. El Cardenal has six different locations across Mexico City, but we recommend the outpost on Palma Street – it’s housed in a beautiful turn-of-the-century mansion.

Claveria
Nicos
Best for: A family-run institution; traditional Mexican cooking
Location: Avenida Cuitláhuac 3102, Claveria, Azcapotzalco, Mexico City, 02080
Price: starting at 120 MXN / 6 USD
Founded in 1957, Nicos is undoubtedly one of Mexico City’s most revered restaurants. The family-run institution has an elevated menu built on ancient recipes, with a commitment to local, organic ingredients. Nicos is located in the further out Azcapotzalco neighbourhood, but it is well worth the Uber ride to this northwestern area of the city. It stands in contrast to the many hip and modern restaurants that abound in other neighbourhoods, and offers a culinary experience that encompasses everything a good restaurant should: great service, dishes prepared tableside, an excellent menu of Mexican wines, fair and local ingredients and, above all, a charming and traditional atmosphere. Order the dried nata (bean) soup, a preparation that dates back to the 19th century, which Nicos preserves to this day.

Roma Norte
Vigneron
Best for: Excellent wine pairing
Location: Jalapa 181, Roma Norte, Cuauhtémoc, Mexico City, 06700
Price: starting at 140 MXN / 7 USD
Vigneron is a tiny restaurant located in the hip Roma Norte neighbourhood. It is best-known for its wine list, which focuses on small producers from France and Spain that work with organic and regenerative agriculture practices. The cuisine is very casual and is designed to pair with the carefully selected wines, which includes crispy whites, funky oranges, light reds, and unique Champagnes. Order ragu pappardelle, or the caviar with French onion dip. A candlelit dinner with one or four bubbling glasses is par for the course at Vigneron.

Contramar
Best for: A seafood institution
Location: Calle de Durango 200, Roma Norte, Cuauhtémoc, 06700 Ciudad de México, CDMX
Price: Starters from 125 MXN / 7 USD
Chef and restauranteur Gabriela Cámara opened this longstanding seafood restaurant in 1998. The menu pays homage to the flavours of the Mexican coastline with an elevated twist, with popular dishes including tuna tostadas, spicy fish soup, green shrimp aguachile and soft shell crab. The Instagram-famous pescado a la talla comprises a whole grilled fish brushed with a red chilli and parsley marinade. Interiors are bright and airy, while outdoor seating offers a view of Roma Norte. Reservations at Contramar are hard to come by, so plan accordingly.

Maximo Bistrot
Best for: A special dinner; Mexican cuisine with French technique
Location: Av. Alvaro Obregón no. 65 Bis, Col. Roma Norte, Ciudad de México, 06700 CDMX
Price: Starters from 290 MXN / 16 USD. Tasting menu without pairings 3,100 MXN / 172 USD
At Maximo Bistrot, chef Eduardo García applies French cooking techniques to Mexican culinary traditions and flavours, using locally sourced ingredients from organic farms and small-scale producers all over Mexico. The vaulted roof allows light to pour through during the daytime, while brick walls are offset by tapestries and trees for an ambient, always buzzing setting. Chef Eduardo changes the menu according to seasonality; however, the sweet onion cooked in whey with comté cheese, the lamb birria, and the buttered stone crab are constants, and well worth a try.

Migrante
Best for: Experiential tasting menu, beautiful interiors
Location: Chiapas 186, Roma Norte, Cuauhtémoc, Mexico City, 06700
Price: 9-course tasting menu 1,899 MXN / 95 USD
Migrante’s tasting menu explores how regional Mexican ingredients intersect with other global cuisines. The name of the restaurant epitomises what the menu is all about: culinary migration and exchange. The menu comprises nine dishes, transporting you across Mexico, Europe, and Asia. Request a table near the open kitchen for a front row seat of the theatrics, such as slow braised lamb cooked over hot embers, or a blue crab tartlet artfully topped with edible flowers.
Dishes may change according to product availability and seasonality, so keep an open mind, and be prepared to devote at least two hours to the meal – you won’t regret it.

EM
Best for: Omakase-style set menu
Location: Tonalá 133, Roma Norte, Cuauhtémoc, Mexico City, 06700
Price: Nine-course omakase menu 3,800 MXN / 187 USD
Chef Lucho Martínez launched EM with his wife Fernanda Torres. The menu is influenced by Japanese ingredients and flavours, which are combined with a hyper-local and sustainable pantry, sourced from organic farms near the city. Choose between an an à la carte a and omakase tasting menu. Dishes are elegantly presented, while the ambience is casual and welcoming, with reservations easily available. Insider tip: Lucho’s crispy fried chicken is not to be missed.

Expendio de Maiz
Best for: A Mexico City must-visit; casual lunch
Location: Avenida Yucatan 84, Roma Norte, Cuauhtémoc, Mexico City, 06700
Price: Average per person with no drinks included 400 MXN / 20 USD (cash only)
Expendio de Maiz has gained global attention for its unique approach to dining, which manages to be both casual and reverent. Food arrives when it’s ready and served on the street, yet with a heightened respect for traditional, rural ways of cooking. Chef Jesús Tornés works with small farmers and corn growers from his home state of Guerrero and cooks dishes using pre-Hispanic techniques – his self-made nixtamal corn dough, for example, is central to his tortilla preparation. Expendio de Maiz doesn’t have a menu and the dishes change according to the available ingredients. Upon arrival, the chef asks about food restrictions and starts sending beautiful, tasty dishes to the table, full of crisp vegetables, molcajete salsas, regional cheeses, mole, and corn delights. There are no reservations either, so arrive early to get a seat at the small communal tables out front.

Condesa
Esquina Común
Best for: Intimate rooftop dining
Location: Fernando Montes de Oca 86 Colonia Condesa
Price: Average per person with no drinks included: 750 MXN / 38 USD
Esquina Común started life as a pop-up project in a secret location. While the venue – a leafy rooftop terrace in Condesa – is no longer hidden, it remains one of Mexico City’s most unique and sought-after dining experiences. Chef Ana González Serrano creates a menu inspired by Mexican, Spanish, and Peruvian influences, artfully presented with handpicked garnishes and edible flowers. The experience is convivial and personal, as if you were invited to a dinner party at a friend’s house. The restaurant is open Friday and Saturday and reservations go fast, so book well in advance.

Juárez
Havre 77
Best for: Oyster and Champagne weekend brunch
Location: Havre 77, Juarez, Cuauhtemoc, Mexico City, 06600
Price: dishes from 190 MXN / 9.5 USD
Weekend brunch a Havre 77 is renowned, offering Champagne with oysters of different varieties and sizes from Baja California. The atmosphere is that of a Parisian bistro: small, intimate, and classic. For a casual dining experience, sit at the kitchen bar or, for a more romantic setting, ask for a table near the ornate turn-of-the-century windows. The onion soup and escargots Bourguignonne are some of the best dishes in the city.

Sushi Kyo
Best for: Omakase sushi
Location: Havre 77, Juárez, Cuauhtémoc, 06600 Ciudad de México, CDMX
Price: Around 2,500 MXN / 140 USD per person
Behind an unassuming wooden door inside a restored turn-of-the-century mansion in the Juarez neighbourhood (the same building as Havre 77) hides Sushi Kyo, a 13-seat omakase bar that specialises in edomae sushi. The space features an elegant, dimly lit wooden bar, where visitors can choose between the short or long omakase menus, carefully prepared by sushi master Yoshimasa Aoki. Kyo sources tuna, red snapper, kampachi, seabass, sea urchins, and various seafood from the best suppliers available, and strongly emphasises Japanese technique and aesthetics. Pair your omakase with Kyo’s excellent sake collection.

Imbiss
Best for: Casual neighbourhood hangout in Juárez
Location: Oslo 8, Juárez, Cuauhtémoc, 06600 Ciudad de México, CDMX
Price: Mains from 200 MXN / 11 USD
Imbiss, on a quiet street in the Juarez neighbourhood, is a local favourite for late-night dinner paired with natural wine and cocktails. Chef Filipe Neves and his partner Ramsés Luevano present a changing menu based on ingredient availability. Expect indulgent Mediterranean flavours with a bistro flare, like the wedge salad with chicken rinds and cured yolk, or a red curry faro with charred carrots and pistachios. Two of the most sought-after dishes at Imbiss are the fried chicken and bone marrow with XO sauce, often used as a bone luge for a shot of rye. The wine list has a reasonable degree of funk and skin contact, mainly from the Old World. Imbiss is an excellent option for Sunday night dinner as most restaurants in Mexico City close relatively early.

Masala y Maíz
Best for: Inventive fusion cooking and natural wine
Location: Calle Marsella 72, Juárez, Cuauhtémoc, 06600 Juárez, CDMX
Price: Small plates from 165 MXN / 9 USD
Mexico, India, and East Africa converge at Masala y Maíz. Chefs Norma Listman and Saqib Keval combine techniques, ingredients and family recipes from their respective culinary heritages, resulting in inventive fusions like brisket samosas, esquites Makai Pakka, and Uttapam gordita. Masala y Maiz advocates for better work conditions within the industry while also shining a light on the complex cultural and political intersections embedded in our food system. The result is as intellectually engaging as it is delicious, while the airy interior features polished concrete walls, exposed brick and natural light. The drinks programme focuses on natural and low-intervention wine from small vineyards.

Polanco
Malix
Best for: Casual lunch and dinner
Location: Avenida Isaac Newton 104, Polanco, Miguel Hidalgo, Mexico City, 11560
Price: Sishes from 150 MXN / 7.5 USD
If you’re exploring the Polanco area, make sure Malix is on your list. Chef Alonso Madrigal draws on culinary traditions from the Yucatàn Peninsula, which are combined with maturation and fermentation techniques, and local and organic ingredients. Try the lamb tartar or the duck with parsnips and plums, or if you’re looking for something lighter, the grilled lettuce with black garlic and furikake won’t let you down. The wine and cocktail list are well curated and in sync with Madrigal’s cuisine, with low-intervention or natural wines loaded with herbal and aromatic flavours. Dine at the U-shaped central counter or snag a table outside for a view of the neighbourhood.

Jardines del Pedregal
Tetetlán
Best for: casual breakfast or brunch in an iconic mid-century setting
Location: Av. de Las Fuentes 180 – B, Jardines del Pedregal, Álvaro Obregón, 01900 Ciudad de México, CDMX
Price: Dishes from 145 MXN / 8 USD
In the upscale suburb of Jardines del Pedregal in the south of Mexico City, one of Mexican architect Luis Barragán’s most iconic creations can be found: the pink, mid-century Casa Pedregal. In the grounds, in what was formerly the home’s private stables, now resides Tetetlán, a casual restaurant and cafe. It is an ideal spot for breakfast or brunch, with dishes from the comal like bean and hoja santa tetela (a triangular-shaped corn dough patty) or mole tlayuda with vegetables and cheese. After your meal, check out the design book store on the mezzanine level above, and take a guided tour of the Casa itself.
Make the most of Mexico City with our insider guide, brimming with beautiful, boutique hotels and must-visit cultural attractions.