
Koshari (Egyptian lentils, rice and pasta)
Lentils and rice, little macaroni and chickpeas under a tangy, spicy tomato sauce and a heap of crispy fried onions, Egypt’s beloved street food made in your kitchen.
- 70 min total
- 45 min hands-on
- A little more hands-on
- Serves 4
- About $1.46 a serving
- 710 calories
- Good the next day
- Vegan
- Dairy-free

Dolly says: Make the full amount. It’s just as good for lunch the next day.
Ingredients
For 4 servings.
- ¾ cup lentils, brown or green, rinsed
- 2 yellow onions, halved and thinly sliced
- ¾ cup long-grain white rice, rinsed
- 1 cup elbow macaroni
- 1 can chickpeas, drained and rinsed
- 4 cloves garlic, minced
- 2 cups crushed tomatoes
From your pantry
- 5¾ cups water, divided
- ⅓ cup vegetable oil
- 2½ tsp salt, divided
- 1½ tsp ground cumin, divided
- ¼ tsp cayenne pepper
- ½ tsp sugar
- 2 tbsp white vinegar
Each serving has about 710 calories, 25 g protein, 108 g carbs and 22 g fat, and costs about $1.46 at typical US grocery prices. Both are estimates from what the recipe uses.
Missing something?
- No yellow onions? White onions or red onions work.
- No long-grain white rice? Jasmine rice or basmati rice works.
- No elbow macaroni? Penne works.
- No crushed tomatoes? Diced tomatoes work.
Steps
Tap an underlined word for a quick explanation.
Put the lentils and 4 cups water in a medium , over high heat, and 10 minutes. .
Saucepan. A saucepan is a pot with tall, straight sides and one long handle. It’s for things that need depth, like rice, sauces or a few boiled eggs.
How you’ll know: The food fills it about halfway, leaving room to bubble without spilling over.
Bring to a boil. It means heating a liquid on high until it’s fully boiling before you move on. A lid on the pot gets it there faster, which makes it a good moment to chop something.
How you’ll know: Big bubbles break all over the surface, and they keep coming when you lift the lid.
Simmer. Simmering means keeping a liquid just below a boil, with small bubbles rising gently. It cooks food evenly and lets a sauce thicken without scorching on the bottom.
How you’ll know: Small, lazy bubbles break the surface every second or so, and nothing is churning.
Drain. Draining means pouring off liquid, like tipping pasta into a colander or spooning extra fat out of the pan. Pour hot grease into a can or jar, not the sink, where it hardens and clogs the pipes.
How you’ll know: Only a few drips are left, and the food isn’t sitting in a puddle.
High heatTimer: 10 min
Meanwhile, heat the oil in a large over medium-high heat.
Skillet. A skillet is a frying pan: wide and flat with low, sloped sides. The shape lets steam escape, so food browns instead of stewing.
How you’ll know: It’s the pan you’d fry an egg in, and a 10 or 12 inch one handles most recipes.
Medium-high heat
Add the onions and of salt and cook, stirring every few minutes, 20 to 25 minutes, until deep and .
Pinch. A pinch is what you can hold between your thumb and two fingers, less than an eighth of a teaspoon. It’s a small, forgiving amount, so there’s no need to measure.
How you’ll know: It’s a light sprinkle you can barely see on the food, not a little pile.
Brown. Browning means cooking until the outside turns brown, which is where a lot of savory flavor comes from. Give food room and time without stirring, or it steams and stays gray.
How you’ll know: The food looks brown rather than gray, and the kitchen smells toasty and savory.
Crispy. Crispy means the outside is dry, firm and crunchy. It comes from high heat, a little oil and room in the pan, because crowded food steams and goes soft.
How you’ll know: It sounds crunchy when you tap or bite it, and it doesn’t flop when you lift it.
Medium-high heatTimer: 22 min
Dolly’s tip: They go pale, then golden, then brown all at once. Turn the heat down if they darken too fast.Lift them onto a paper towel and keep the oil.
Put the lentils back in the with the rice, 1¾ cups water, ½ teaspoon cumin, 1 teaspoon salt and a tablespoon of the onion oil. .
Drain. Draining means pouring off liquid, like tipping pasta into a colander or spooning extra fat out of the pan. Pour hot grease into a can or jar, not the sink, where it hardens and clogs the pipes.
How you’ll know: Only a few drips are left, and the food isn’t sitting in a puddle.
Saucepan. A saucepan is a pot with tall, straight sides and one long handle. It’s for things that need depth, like rice, sauces or a few boiled eggs.
How you’ll know: The food fills it about halfway, leaving room to bubble without spilling over.
Bring to a boil. It means heating a liquid on high until it’s fully boiling before you move on. A lid on the pot gets it there faster, which makes it a good moment to chop something.
How you’ll know: Big bubbles break all over the surface, and they keep coming when you lift the lid.
High heat
Cover and cook on low 18 minutes.
Low heatTimer: 18 min
Bring a pot of salted water , add the macaroni and cook 7 to 8 minutes, until . Add the chickpeas for the last minute to warm them, then .
Bring to a boil. It means heating a liquid on high until it’s fully boiling before you move on. A lid on the pot gets it there faster, which makes it a good moment to chop something.
How you’ll know: Big bubbles break all over the surface, and they keep coming when you lift the lid.
Al dente. Al dente is Italian for “to the tooth”: pasta cooked until tender but with a slight firm bite in the center. It holds up in sauce and keeps softening a little after you drain it.
How you’ll know: Bite a piece a minute before the package time: tender, with a slight firm bite in the middle and no crunch.
Drain. Draining means pouring off liquid, like tipping pasta into a colander or spooning extra fat out of the pan. Pour hot grease into a can or jar, not the sink, where it hardens and clogs the pipes.
How you’ll know: Only a few drips are left, and the food isn’t sitting in a puddle.
High heatTimer: 8 min
Pour off all but 2 tablespoons of the onion oil, set the over medium heat, and cook the garlic 1 minute, .
Skillet. A skillet is a frying pan: wide and flat with low, sloped sides. The shape lets steam escape, so food browns instead of stewing.
How you’ll know: It’s the pan you’d fry an egg in, and a 10 or 12 inch one handles most recipes.
Fragrant. Fragrant means cooking until you can clearly smell it, usually garlic or spices, often in about 30 seconds. That’s the moment the flavor is ready, just before it can burn.
How you’ll know: You can smell it from a step back, and garlic is pale gold, not brown.
Medium heat
Add the tomatoes, the rest of the cumin, the cayenne, sugar and ½ teaspoon salt and 10 minutes, until thick. Stir in the vinegar.
Simmer. Simmering means keeping a liquid just below a boil, with small bubbles rising gently. It cooks food evenly and lets a sauce thicken without scorching on the bottom.
How you’ll know: Small, lazy bubbles break the surface every second or so, and nothing is churning.
Medium heatTimer: 10 min
Dolly’s tip: The vinegar is what makes koshari sauce taste like koshari. Don’t skip it.Fluff the rice and lentils with a fork.
Spoon rice and lentils into bowls, add the macaroni and chickpeas, ladle the sauce over, and pile the onions on top.
Crispy. Crispy means the outside is dry, firm and crunchy. It comes from high heat, a little oil and room in the pan, because crowded food steams and goes soft.
How you’ll know: It sounds crunchy when you tap or bite it, and it doesn’t flop when you lift it.

Plan this in Dollop, and get the grocery list
Dollop puts this dinner on a night that suits your week, lists only what you still need to buy, and walks you through each step while you cook.
More dinners like this

Vietnamese-style caramel chickpeas
35 min

Air fryer sesame chickpeas with broccoli
35 min

Chickpea adobo
35 min

Vegan mac and cheese
25 min
Vegetarian dinners ›Pantry dinners ›What to make with canned tomatoes and rice ›What to make with canned tomatoes and pasta ›What to make with chickpeas and rice ›