Mexico is one massive pulsating heart of foodie love! You can feel it everywhere you go. This country has an incredible lineup of culinary hits. You can find endless amazing food everywhere, but the following cities are not to be missed if you are looking for the best food in Mexico.
1. Oaxaca
Oaxaca should be on every hungry traveller’s hit list. If you are looking for the best food in Mexico, this city is a must! Oaxaca is the capital of Oaxaca state and is one of Mexico’s most enjoyable colonial cities, with a very welcoming buzz.
During the day, people chill out at sidewalk cafes sipping fresh coffee or gather around the plazas listening to street musicians. There are several food markets close to the city centre with comedors (small kitchens) serving up homemade Oaxacan dishes at super affordable prices.
Also located in the market “20 de Noviembre“, there is a section called the ‘Carnes Asadas’ aisle. Do not miss this!
It’s where you purchase an amount of fresh thinly cut meats and chorizos and the lady cooks it directly on the BBQ grill in front of you.

Best Food in Mexico – Oaxaca Market
Ask for a bunch of fresh onions, vegetables and chills from the guy directly across, give her the vegetables and she also barbeques them for you. Take a seat at the tables, order some drinks and wait to be served your basket full of your barbequed meat and veg, a bowl of guacamole, salsas and a small stack of fresh tortillas. Bliss! The best food in Mexico is always local and fresh.
Between the two of us, we ate about 600g of meats with some veg, guacamole and tortillas for under $10.
If you prefer to eat right in the centre square, there are endless food stalls here that light up their huge round hotplates and stir their pots of salsas and moles, in preparation for the busy evening rush.
Oaxaca has a fantastic restaurant scene in the centre of the city too. This state is known for the best food in all of Mexico, although the seven different kinds of mole are what people rave mostly about. I can see why as the depth of flavour in this dish is insane.
We loved it here and had some of our best food in Mexico in Oaxaca so we wrote a separate post: The Best Foods to try in Oaxaca.
TIP: Join this food tour of Oaxaca – It takes you to eat some of the best food that Oaxaca has to offer.

Empanada filled with Amarillo mole, shredded chicken and Oaxacan cheese – Best Food Cities Mexico is all about Oaxaca!
2. Mexico City
Mexico City is one of the largest cities in the world. It’s no surprise that it’s filled with endless street vendors and small eateries that are clever at creating satisfying and delicious snacks. Our favourite street snacks here were tacos al pastor, a must-try and definitely part of the best food in Mexico.
Pork is marinated in a combination of dried chiles, spices and pineapple and grilled in a coal-fired rotisserie. Once sliced, meat is served on tacos with freshly diced onion and coriander with salsas and lime to taste.
There are many fantastic restaurants in downtown Mexico City, as well as more in the nearby neighbourhoods of Condesa, Roma & Zona Rosa.
Alternatively, let a local show you around this awesome city whilst introducing you to the best street eats available.
We highly recommend booking yourself a space on this awesome Historic Centre Food Tour of Mexico City.

Tacos al pastor in Mexico City
3. San Cristobal
This gorgeous colonial city, set in a highland valley has the perfect mix of traditional restaurants, outdoor food markets and trendy cafes, easily another food heaven for having the best food in Mexico.
Fortunately for caffeine lovers, coffee beans are locally grown in the area, and the coffee is delicious. We picked up a bag of freshly ground coffee to use in our portable espresso maker, easily our favourite travel accessory.
Read more about the best range of day tours of San Cristobal and surrounding areas.
San Cristobal is in the middle of one of the most indigenous areas in Mexico. You can feel a unique ambience walking along the cobble-stoned streets as traditionally dressed women and girls sell beautiful hand-sewn blouses and handicrafts and homemade sweets of every kind are available everywhere.
We ate very well here from the outdoor markets. A favourite of ours was “molotes”; chorizo and herbed pieces of potato are tucked into a circle of thin corn dough before all is sealed and fried in oil until crisp. It is then covered with your choice of frijoles or guacamole and topped with salad. After the first bite, we knew they will be on our best food in Mexico list.
Our favourite restaurant was a small, simple and always busy place called El Caldero. They have a menu of approximately 10 different Mexican kinds of soup, all served in huge bowls, accompanied by tortillas and salsas.
Choose from the classic pozole or go for something a little richer, such as the birria, slow-cooked goat in a deliciously flavoured red soup. (I ordered this soup and it was one of my fave meals from Mexico in 3 months)
At a cost of around 75 pesos ($6), it was a clear winner! The best food in Mexico is almost always very affordable.

In search for the best food in Mexico – Birria Soup in San Cristobal
4. Puerto Vallarta
Puerto Vallarta is fast becoming a big contender in offering delicious Mexican cuisine. Conveniently located on the coast, the availability of fresh seafood is worked in to create some fantastic dishes.
Puerto Vallarta offers everything from reliable local restaurants dishing out incredible signature dishes, to the table-clothed, candle-lit fancy tables serving 5-star service on the beach. In a way, best food in Mexico for any budget.
The real food heroes I found were the many taco stands dotted around the Old Town, located between 4-7 blocks back from the beach. It’s not hard to work which vendors sell the tastiest fare. You can see the gathering of locals night after night munching on tacos with a number of fillings that we returned for on a nightly basis.
If you want to learn more about Mexican Food and culture, why not join a Mexican Cooking Class or this popular Local Neighbourhood Food Tour of Puerto Vallarta. They know a thing or two about the best food in Mexico.

Street Vendors in PV. Best Food Cities Mexico, of course Puerto Vallarta is on our list!
5. Puebla
Puebla is known for having high quality and rich food. A must-try speciality here is called “Chile en nogada”. Ground meat is seasoned and combined with raisins, pine nuts and local fruit before being stuffed into roasted poblano chiles. These stuffed chiles are then dipped in batter and fried before being topped off with a creamy sauce made partially of walnuts and then topped with pomegranates. Delicious! Another addition to our list of the best food in Mexico.
Another favourite in Puebla for us were the taco árabe, or “Arab-style taco”. Sliced, spit-roasted pork is served on slightly charred middle-eastern style flatbread tacos that have been on the grill very briefly with all that delicious marinade to add flavour.
You then can add salt, lime juice, and salsa to taste.
Find these very delicious and very affordable tacos here at ‘Las Ranas’ Taqueria in Puebla.

Pozole soup
In the past three months of eating my way through Mexico looking for the best food in Mexico. I feel as though I have only scratched the surface of the variety of food here. Remembering all the wonderful food I have devoured during that time, and the extra few kilogrammes I have gained, there is not a minute that I regret a mouthful of this incredible cuisine.
The best food in Mexico can be found in other cities that we have visited. Guanajuato, Guadalajara, Sayulita, Mendoza and many more. But this list of five cities should give you a nice start and introduction to the amazing cuisine of Mexico.
Happy Eating! Let us know where you had the best food in Mexico in the comments below!
Ensure you’re covered with the best travel insurance policy when travelling in Mexico. We use and recommend SafetyWing Travel Insurance.