Meatballs in Chipotle Sauce
Juicy, tender beef meatballs simmered in a smoky, spicy chipotle tomato sauce. This hearty Mexican-inspired dish comes together in one pan and delivers deep, complex flavors with every bite. Serve it with warm tortillas or steamed rice for an unforgettable weeknight dinner.
For 4 servings
- prep · ~5 min
Make the meatball mixture.
In a large mixing bowl, combine ground beef, breadcrumbs, beaten egg, half the minced garlic, half a teaspoon of cumin, a quarter teaspoon of salt, and a pinch of black pepper. Mix gently with your hands until just combined. Be careful not to overwork the meat or the meatballs will be tough.
TIPMix until the ingredients just come together — overworking develops the proteins in the meat and makes the meatballs dense. - prep · ~5 min
Shape the meatballs.
Roll the mixture into 16 equal-sized balls, about an inch and a half in diameter. Place them on a plate or tray.
- fry · ~10 min
Brown the meatballs.
1.Heat oil in a large, deep skillet over medium-high heat until shimmering.2.Add meatballs in a single layer, working in batches if needed to avoid crowding the pan.3.Cook, turning occasionally, until browned on all sides, about 5-7 minutes.4.Transfer the browned meatballs to a plate and set aside. Resist the urge to cook them all the way through — they will finish in the sauce.TIPA good crust on the meatballs builds the foundation of flavor for the whole dish. - saute · ~6 min
Start the chipotle sauce.
1.Reduce the heat under the skillet to medium. If the pan looks dry, add a tiny splash of water.2.Add the chopped onion to the same skillet and cook, stirring occasionally, until softened and starting to brown, about 4-5 minutes.3.Stir in the remaining minced garlic and cook until fragrant, about 30 seconds.TIPScrape up the browned bits left from the meatballs — that’s where the deep flavor lives. - simmer · ~16 min
Build and simmer the sauce.
1.Add the chopped tomatoes, chopped chipotle chiles, reserved adobo sauce, the remaining half teaspoon of cumin, dried oregano, and the remaining quarter teaspoon of salt to the skillet.2.Pour in the water and stir well, bringing the sauce to a gentle boil.3.Reduce the heat to low, cover, and let it simmer for 15 minutes. Stir once or twice to prevent sticking.TIPSimmer until the tomatoes have completely collapsed and thickened into a rustic sauce. - simmer · ~15 min
Finish cooking the meatballs in the sauce.
1.Gently nestle the browned meatballs into the simmering chipotle sauce.2.Spoon a little sauce over the tops of the meatballs.3.Cover the skillet and let them cook for another 10-12 minutes, or until the meatballs are cooked through and tender.4.Carefully remove the lid and let the sauce thicken for a final 2-3 minutes if it looks too thin.TIPCooking the meatballs covered in the sauce bathes them in flavor and keeps them exceptionally tender. - garnish · ~1 min
Garnish with fresh cilantro and serve hot.
Transfer the meatballs and sauce to a serving dish. Sprinkle generously with chopped cilantro. Serve immediately with warm tortillas or steamed rice to soak up every drop of the smoky sauce.
What to keep in mind.
6 tips from the recipe — small details that make a real difference to the final dish.
- 1Use 80/20 ground beef — the fat keeps meatballs moist and adds flavor to the sauce.
- 2Wet your hands slightly when shaping meatballs to prevent sticking and ensure smooth balls.
- 3Don't skip browning the meatballs — the crust is key for deep, savory flavor.
- 4Scrape up the browned bits (fond) from the pan after searing — they enrich the sauce.
- 5Simmer the sauce uncovered at the end if it's too thin; it should coat a spoon lightly.
- 6Let the meatballs rest in the sauce for 5 minutes off heat before serving for extra juiciness.
Adapt it for your goals.
Oven-baked
Instead of pan-frying, bake the meatballs at 200°C (400°F) for 12 minutes, then add them to the sauce and simmer. This reduces hands-on time and yields a slightly firmer texture.
pork and beef blendPork-and-beef blend
Replace half the beef with ground pork for a juicier, more tender meatball with a subtly sweeter flavor that complements the chipotle.
low carb / ketoLow-carb / keto
Substitute the breadcrumbs with almond flour or crushed pork rinds. This keeps the meatballs low in carbs while still binding them together.
vegetarian (lentil)Vegetarian (lentil)
Use cooked brown lentils (mashed slightly) with breadcrumbs and egg in place of beef. The lentils provide a hearty texture that works beautifully with the smoky chipotle sauce.
Why this is on our healthy list.
Rich in Iron
Ground beef is a good source of heme iron, which is easily absorbed by the body and supports healthy red blood cells.
High in Protein
Each serving of meatballs provides a substantial amount of protein, essential for muscle maintenance and satiety.
Antioxidants from Tomatoes
Tomatoes are rich in lycopene, a powerful antioxidant that supports heart health and may reduce inflammation.
Metabolism-Boosting Spices
Cumin and chipotle peppers contain compounds that may aid digestion and support metabolic function.
Frequently asked questions
Yes. Use one 400g can of diced or crushed tomatoes (drained slightly) and reduce the water to 1/4 cup, since canned tomatoes are more watery.



