Soups & Stews
This beef bafat recipe delivers the rich, aromatic experience of Middle Eastern slow-cooked beef that transforms tough cuts into melt-in-your-mouth perfection. 🔥 Born from Lebanese and Emirati traditions, bafat is where tender beef meets layers of spices, simmered until the meat practically falls apart.
The magic? A long, slow cook that builds deep, complex flavors—no shortcuts, just patience rewarded with every bite.
The secret lies in marinating the beef overnight with a blend of warm spices like cinnamon, allspice, and cloves, which infuse the meat with warmth and depth. Then, it's slow-cooked until fork-tender, often served with crispy flatbread or rice to soak up the rich, spiced sauce.
This isn’t just a dish; it’s a celebration of slow cooking and bold flavors that bring the Middle East to your table.
What you’ll end up with is crispy, golden-brown edges on the flatbread and a pot of beef so tender it shreds easily, all bathed in a sauce that’s fragrant with garlic, lemon, and spices.
The aroma alone will have everyone gathering around the table, and the first bite delivers that perfect balance of savory, spicy, and slightly sweet—exactly what makes bafat unforgettable.
Serve it with a fresh salad, pickled vegetables, or warm pita bread to complete the meal. This is comfort food at its finest, perfect for family gatherings or when you want to impress with a dish that feels both rustic and refined. Let’s get cooking!
Ingredients for beef bafat
Tender beef, warm spices, and crispy tortilla layers—this is comfort food at its finest.
| Ingredient | Amount | Notes |
|---|---|---|
| Beef Chuck Roast 🥩 | 2 ½ lb | Tough cut for slow cooking |
| Large White Onions 🧅 | 2 whole | Thinly sliced for marinade |
| Garlic Cloves 🧄 | 6 cloves | Minced for marinade and sauce |
| Fresh Lemon 🍋 | 1 whole | Juiced for brightness |
| Ground Cinnamon 🌿 | 1 tsp | For warm spice depth |
| Ground Allspice 🌶️ | ½ tsp | Earthy, aromatic touch |
| Ground Cloves 🌶️ | ¼ tsp | Use sparingly for intensity |
| Salt 🧂 | 1 ½ tbsp | Kosher or sea salt |
| Black Pepper 🌶️ | 1 tsp | Freshly cracked preferred |
| Olive Oil 🫒 | ½ cup | Extra-virgin for richness |
| Beef Broth 💧 | 2 cups | Homemade or quality store-bought |
| Large Tortillas 🌯 | 8 whole | Flour tortillas, 10-inch |
| Shredded Mozzarella Cheese 🧀 | 2 cups | Freshly shredded preferred |
| Fresh Cilantro 🌿 | ¼ cup | Chopped for garnish |
| Plain Yogurt 🥛 | ½ cup | For serving or sauce |
The beef is everything here. Chuck roast is your best bet—it's tough enough to hold up to slow cooking, which is exactly what you want for bafat. Look for a roast with good marbling at Whole Foods or your local butcher; if you're at a regular grocery store, the pre-cut beef section usually has what you need. The onions and garlic get minced finely for the marinade, so grab a good knife or food processor to save time. Fresh lemon is a must—Mexican or Persian limes add extra zing if you can find them, but regular lemons work too. Spices like cinnamon and allspice are often in the international aisle, but the regular spice section works fine.
No cinnamon? Cardamom at half the amount gives a similar warmth. Short on allspice? Nutmeg or mace can stand in, but it'll change the flavor slightly. The beef broth can be homemade or store-bought—just make sure it's not salty. For the tortillas, Mission or La Tortilla Factory brands are my go-tos; they hold up well to layering. If you're feeling fancy, swap the mozzarella for Parmigiano-Reggiano or feta for a different flavor profile. The yogurt can be Greek or regular—just make sure it's plain, no added flavors.
Marinate the beef overnight for best results, but if you're in a rush, 4 hours minimum still works. Store the marinade in a sealed container in the fridge. The tortillas should be stacked in an airtight container with a paper towel to keep them soft. Once assembled, this keeps for 3 days in the fridge—reheat in the oven at 350°F until bubbly. For leftovers, slice and reheat portions individually for crispy edges every time.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe because it’s literally one pot. Chuck roast, onions, and garlic all simmer together—no chopping boards, no extra pans, just hands-off cooking while you sip tea or scroll through your phone. The onions caramelize right in the pot, so you get that sweet, jammy depth without extra effort.
- Cinnamon-Kissed Magic: Between us, that ground cinnamon in the marinade is the secret weapon. It’s not sweet—it’s warm, earthy, and pairs with the beef like a hug. The lemon brightens it up just enough to make every bite feel special, even when I’m too tired to care about "fancy" flavors.
- Leftovers That Shine: This dish actually improves the next day. The beef gets even more tender, and I can slice it thin for wraps, toss it into salads, or just reheat it with a splash of water. Honestly, I make double batches because I know I’ll eat it for lunch the following week.
- Budget-Friendly Feast: A chuck roast is cheap, and this recipe stretches it across multiple meals without feeling like a sacrifice. The onions and garlic add bulk, so you’re not just paying for meat—you’re getting a full, satisfying dish that won’t break the bank. Plus, the cinnamon and lemon make it taste like you spent hours, not minutes.
Step-by-step instructions for beef bafat with crispy tortilla layers
Here's how to transform tough beef into tender, flavorful layers with perfectly crispy tortillas and gooey cheese.
🔥 Step 1: Marinate and Cook the Beef Chuck Roast
In a large bowl, combine the 2.5 lb beef chuck roast, 2 whole large white onions (thinly sliced), 6 cloves garlic (minced), juice from 1 whole fresh lemon, 1 tsp ground cinnamon, 0.5 tsp ground allspice, 0.25 tsp ground cloves, 1.5 tbsp salt, and 1 tsp black pepper. Massage the marinade into the beef until fully coated. Let it sit at room temperature for 30 minutes before cooking.
Heat 0.25 cup olive oil in a large Dutch oven over medium-high heat. Add the marinated beef and sear on all sides until browned, about 5-7 minutes per side. Pour in 2 cups beef broth until the beef is just covered. Bring to a simmer, then reduce heat to low, cover, and cook for 3-4 hours until the beef is fork-tender and easily shreds with two forks. The sauce should reduce to a thick, glossy consistency.
👨🍳 Step 2: Prepare the Tortilla Layers
While the beef cooks, prepare the tortillas for their crispy transformation. Heat a clean, dry skillet over medium heat. Working in batches, lightly brush each of the 8 whole large tortillas with a thin layer of 0.25 cup olive oil (about 1 tablespoon per tortilla). Place one tortilla in the skillet and cook for 20-30 seconds per side until just warm and pliable—don't let them brown. Keep them wrapped in a clean kitchen towel to stay soft.
Here's the trick: the tortillas should be warm and flexible, not crispy yet. If they start to stiffen, just reheat them briefly in the skillet. The magic happens later when they get layered with cheese and baked.
🥘 Step 3: Assemble the Bafat Layers
Preheat your oven to 375°F. In a large baking dish or cast-iron skillet, spread half of the shredded 2 cups mozzarella cheese evenly on the bottom. Place four of the warm tortillas on top, slightly overlapping them. Add half of the shredded beef (with some of the cooking juices) and sprinkle with 0.125 cup fresh cilantro (about a third of the total). Repeat the layers: remaining cheese, tortillas, beef, and cilantro.
Cover the dish tightly with aluminum foil and bake for 15 minutes. This steams the layers and melts the cheese without crisping the tortillas yet. Remove the foil and bake for another 10-15 minutes until the tortillas are golden brown and crispy on top, and the cheese is bubbly and fully melted.
🍽️ Step 4: Serve with Yogurt and Garnish
Let the bafat rest for 5 minutes before cutting into squares. The layers should hold together beautifully with crispy tortilla edges and gooey cheese throughout. Serve immediately with 0.5 cup plain yogurt on the side for dipping. Garnish with the remaining 0.125 cup fresh cilantro for a pop of freshness.
This dish is all about the contrast—tender, spiced beef with crispy tortilla layers and creamy melted cheese. The yogurt adds a cool, tangy element that balances the richness. Enjoy it while everything is hot and crispy!
Pro Tips For Making Beef Bafat
- SEAR THE ONIONS FIRST: I learned this the hard way—adding whole onions to the pot before the beef means they’ll steam instead of caramelize. Slice them into thick wedges (about ½-inch), sear them in a dry pan for 10 minutes until golden brown, then add them to the pot with the beef. That deep, sweet flavor? Worth the extra 10 minutes.
- USE THE FAT, NOT WATER: After browning the beef chuck roast, resist the urge to add water or broth right away. Instead, let the meat sit in its own rendered fat for 5 minutes—this creates a rich, sticky base that locks in flavor. Only add water if the onions start sticking after 20 minutes of cooking.
- GRATE THE CINNAMON FINE: Ground cinnamon clumps like a nightmare in this dish. Grate it fresh (or buy pre-ground) and sift it through a fine-mesh strainer before adding it to the pot. This ensures it dissolves evenly and doesn’t leave gritty bits—trust me, you’ll taste the difference, especially when serving over rice.
- SKIP THE LEMON UNTIL THE END: Lemon juice can turn the sauce sour if added too early. Toss in the zest (about 1 tablespoon) with the onions during searing, but hold off on the juice until the last 10 minutes of cooking. A splash at the end brightens the dish without overpowering the beef’s deep, caramelized flavor.
Serving suggestions for this beef bafat
Traditional Serving Style
In its Middle Eastern roots, beef bafat is traditionally served family-style on a large platter or in a communal dish. The crispy tortilla layers are arranged in overlapping circles, creating a rustic, inviting presentation.
I like to serve it directly from the baking dish with a side of warm pita bread for extra scooping. The yogurt sauce (made with plain yogurt, minced garlic, and a pinch of salt) is essential—it cuts through the richness and adds a refreshing contrast. 🥛
Fresh Salad Pairing
A bright, crisp salad balances the rich, spiced beef beautifully. I recommend a simple cucumber-tomato salad with Persian cucumbers, heirloom tomatoes, and a dressing of lemon juice, olive oil, and fresh mint.
Add red onion slices and a sprinkle of sumac for tangy brightness. This salad keeps the meal light while complementing the hearty bafat. 🥒
Pickled Vegetables
Pickled vegetables add a tangy crunch that elevates the dish. Try quick-pickled radishes or turnips with a vinegar-based brine (apple cider vinegar, sugar, and salt). I also love pickled jalapeños for those who enjoy a little heat.
These pickles cut through the richness and add a refreshing bite. Store them in the fridge for up to 2 weeks in an airtight container. 🌶️
Beverage Pairings
For a traditional touch, serve mint tea or cardamom-infused coffee alongside the bafat. If you prefer alcohol, a dry white wine like Sauvignon Blanc or a light lager works perfectly.
The crisp acidity of the wine cleanses the palate between bites, while the effervescence of beer balances the dish’s richness. 🍷
Garnish Like a Pro
Fresh cilantro isn’t just for garnish—it adds a burst of freshness that ties the dish together. I also like to sprinkle toasted pine nuts or pomegranate seeds for texture and color.
For an extra touch, drizzle a little extra-virgin olive oil over the top right before serving. This not only looks stunning but also enhances the flavors. ✨
Make-Ahead Serving Tips
Bafat reheats beautifully, so assemble it ahead of time and refrigerate until ready to bake. If serving leftovers, reheat in a 350°F oven for 10-15 minutes until crispy again.
For a crowd, double the tortilla layers and cheese—just ensure the dish is no more than 3 inches deep for even baking. Serve with extra warm tortillas on the side for dipping. 💡
Nutrition facts
Frequently asked questions
What cut of beef works best for this recipe?
Use a chuck roast or brisket—these tougher cuts become incredibly tender when slow-cooked. The fat content helps keep the meat moist during the long cooking process. Avoid lean cuts like sirloin, as they dry out.
Can I make bafat in a slow cooker instead of an oven?
Cook the beef in the slow cooker on low for 6-8 hours until fork-tender. For the tortilla layers, transfer the assembled dish to a baking sheet and bake at 375°F for 15-20 minutes to crisp them up. The slow cooker saves you from monitoring the oven.
Why do the tortillas need to be warm but not crispy before baking?
Warm tortillas are pliable and layer better without cracking. If they're crispy, they'll break apart when stacked. The magic happens in the oven when the cheese melts and creates a crispy, golden crust on top. Think of it like lasagna—flexible layers hold together beautifully!
What if I don't have mozzarella cheese?
Use Parmigiano-Reggiano or feta cheese for a different flavor profile. For a dairy-free option, try vegan mozzarella shreds or even crumbled halloumi for a salty, crispy alternative. Just adjust the baking time slightly if using halloumi, as it browns faster.
How do I fix dry beef after slow cooking?
If the beef is dry, it likely didn't cook long enough. Next time, extend cooking by 1-2 hours and add ½ cup beef broth halfway through. For immediate help, shred the beef and mix it with 2 tablespoons yogurt or a splash of broth to restore moisture.
