Save The first time I tasted koshari, I was standing at a street cart in Cairo at dusk, watching the vendor layer rice, lentils, and pasta with the practiced speed of someone who'd made this a thousand times. He crowned it all with crimson tomato sauce and a shower of golden fried onions, then handed me the bowl with a knowing smile. One bite and I understood why this dish has fed generations of Egyptians—it's humble, it's satisfying, and somehow it tastes like home even if you've never been there before.
I made this for a group of friends on a chilly Thursday night, and watching their faces light up as they took that first bite reminded me why cooking matters. Someone asked for the recipe before they'd even finished eating, and another friend started planning to make it the next day. That's when I knew koshari wasn't just going to be something I made occasionally—it was going to become something I made all the time.
Ingredients
- Medium-grain rice, 1 cup: Rinsed rice releases starch, keeping each grain separate and fluffy; don't skip this step.
- Brown or green lentils, 1 cup: They hold their shape better than red lentils and give the dish real substance and earthiness.
- Small elbow macaroni or ditalini pasta, 1 cup: These small shapes nestle perfectly with the lentils and rice instead of dominating the bowl.
- Olive oil, 2 tablespoons: Use good oil for the sauce; you'll taste the difference.
- Large onion, 1: Finely chopped onion melts into the sauce and builds the flavor foundation.
- Garlic cloves, 4 minced plus 2 more for the vinegar: Garlic goes two places—the sauce and an optional sharp vinegar condiment.
- Crushed tomatoes, 1 can (15 oz): Canned tomatoes are more reliable than fresh for this sauce; look for good brands without added sugar.
- Tomato paste, 1 tablespoon: This concentrate deepens the tomato flavor and helps thicken the sauce naturally.
- Ground cumin and coriander, 1 teaspoon and 1/2 teaspoon: These warm spices are what make koshari taste authentically Egyptian.
- Chili flakes, 1/2 teaspoon: Optional but recommended; they add a gentle warmth that doesn't overwhelm.
- Large onions for frying, 2: Thinly sliced and fried until golden, these are the textural crown jewel of the dish.
- All-purpose flour, 1/2 cup: A light coating helps the onions crisp up evenly in the oil.
- White vinegar, 1/4 cup: Minced garlic steeped in vinegar creates a punchy condiment that's served on the side.
Instructions
- Simmer the lentils first:
- Pour 3 cups of water over rinsed lentils in a saucepan and bring to a boil. Reduce the heat and let them simmer for 20 to 25 minutes until they're tender but not mushy—you want them to hold their shape. Drain them well and set aside.
- Cook the rice alongside:
- In a separate pot, combine rinsed rice with 2 cups water and 1/4 teaspoon salt. Bring to a boil, then cover and reduce heat to low, simmering for 15 to 18 minutes until the water is absorbed. Fluff it gently with a fork and you'll smell that wonderful grassy rice aroma.
- Get the pasta to al dente:
- In a large pot of generously salted boiling water, cook your macaroni or ditalini until it has a slight bite to it—usually 8 to 10 minutes depending on the brand. Drain it and set it aside; it'll continue to soften slightly as it sits.
- Build the tomato sauce:
- Heat olive oil in a saucepan over medium heat and add your finely chopped onion, stirring occasionally until it turns translucent and soft, about 5 minutes. Add minced garlic and cook for another minute until fragrant, then add the crushed tomatoes, tomato paste, cumin, coriander, chili flakes, and a pinch of sugar. Let this simmer uncovered for 15 to 20 minutes, stirring now and then, until it thickens and darkens slightly. Taste it and adjust salt and pepper until it tastes bright and balanced.
- Fry the onions until they're golden and crispy:
- Toss thinly sliced onions with flour and salt until evenly coated. Heat vegetable oil in a deep skillet over medium-high heat and fry the onions in batches, stirring occasionally, until they turn deep golden brown and crispy—about 5 to 7 minutes per batch. Transfer them to paper towels to drain; they'll crisp up further as they cool.
- Optional: make a sharp garlic vinegar:
- Combine white vinegar, minced garlic, and optional chili flakes in a small bowl and let them sit for at least 10 minutes so the flavors meld. This becomes a punchy, optional condiment that people can add to taste.
- Assemble and serve:
- In individual bowls or on a large platter, layer the rice first, then the lentils, then the pasta. Pour generous amounts of warm tomato sauce over the top and crown everything with those crispy fried onions. Drizzle with garlic vinegar if you made it, garnish with fresh parsley if you have it, and serve immediately.
Save There's a moment when you layer everything together and see those three components sitting in the bowl—the pale rice, the earthy lentils, the soft pasta—and then you pour that crimson sauce over everything and add those golden onions on top. It stops being just ingredients and becomes something that looks celebratory, something worth gathering around.
Why This Dish Works
Koshari is pure balance—you've got starch from three sources, which sounds excessive until you taste how each one brings its own texture. The rice is soft and absorbent, the lentils are earthy and substantial, and the pasta adds a bit of chew. Together they create a foundation that lets the bright tomato sauce and crunchy onions shine. It's vegetarian without being pretentious about it, filling without being heavy, and it tastes even better the next day when the flavors have had time to get to know each other.
Customizing Your Bowl
One of the best things about koshari is how it adapts to what you have and what you're craving. Some people load theirs with extra sauce, others prefer it dryer so they can taste each component. If you have hot sauce at home, drizzle it in. If you've got fresh herbs—parsley, cilantro, mint—tear them over the top. The garlic vinegar is the traditional condiment, but some people prefer a squeeze of fresh lemon instead, and that works beautifully too.
Make It Your Own
There's no gatekeeping with street food. If you want to use vegetable broth instead of water for more depth, do it. If you prefer orzo or vermicelli to the macaroni, the dish will still be delicious. If you like serious heat, add more chili flakes to both the sauce and the vinegar. The beauty of koshari is that it's sturdy enough to handle your preferences and flexible enough to work with whatever's in your pantry.
- You can prepare the rice, lentils, and pasta up to a day ahead and just warm them gently when you're ready to serve.
- The tomato sauce also keeps beautifully in the refrigerator for up to 4 days, making weeknight assembly incredibly fast.
- The only component you should make fresh is the crispy onions, which lose their crunch within a few hours but stay delicious for a day if stored in an airtight container.
Save Koshari fed me well in a moment when I needed comfort that tasted like somewhere I'd never been, and now it feeds my friends and reminds us all that the best meals are the ones that bring people together. Make this, and you'll understand why.
Recipe FAQ
- → What types of grains are used in this dish?
This dish combines medium-grain rice, brown or green lentils, and small elbow macaroni or ditalini pasta to create its distinctive layers.
- → How is the tomato sauce prepared?
The tomato sauce is made by sautéing onions and garlic, then simmering crushed tomatoes with tomato paste, cumin, coriander, chili flakes, sugar, salt, and pepper until thick and flavorful.
- → What gives the dish its crispy texture on top?
Thinly sliced onions coated lightly in flour are fried until golden and crispy, providing a satisfying crunch as a topping.
- → Can I adjust the heat level in this dish?
Yes, the chili flakes in both the tomato sauce and garlic vinegar can be added or omitted according to preferred spice levels.
- → Are there any common substitutions for the pasta used?
Orzo or vermicelli can be used instead of macaroni for variation in texture while maintaining the layered structure.