Persian makaroni is one of those nostalgic comfort foods that instantly takes me back to childhood. Unlike traditional Italian pasta dishes, Persian-style makaroni is layered in a pot and steamed until the bottom forms a deeply golden, crispy tahdig that everyone fights over. This version stays true to the classic with a savory beef and tomato sauce, but I lighten it up with tender zucchini and sweet shallots for a fresher, more balanced take. It’s cozy, satisfying, and all about that irresistible crunchy bottom layer.

Persian Makaroni with Zucchini and Shallots
A cozy Persian-style makaroni layered with a rich beef, zucchini, and tomato sauce, then cooked until perfectly crispy on the bottom. This lighter take on the nostalgic classic adds tender zucchini and sweet shallots to the traditional meat sauce for a fresher, more balanced version with that irresistible golden tahdig crunch.
Equipment
- nonstick pot with a lid
Ingredients
- 6 tbsp avocado oil divided
- 1 medium onion diced
- 3 shallots thinly sliced
- 3 garlic cloves thinly sliced
- 3 medium zucchini diced small
- 1 jalapeno thinly sliced (optional)
- 1 tsp turmeric
- 3 tbsp tomato paste
- 1½ lb ground beef
- 1 15oz can tomato sauce
- kosher salt
- 1 lb spaghetti
- ¼ tsp saffron
- pinch of sugar
Instructions
- Heat 3 tbsp avocado oil in a large skillet over medium heat. Add the onion, shallots and garlic and cook until softened and lightly golden, about 8-10 minutes. Watch so that it doesn't burn and adjust heat if necessary.
- Add the zucchini and jalapeno, season generously with salt and cook for another 7-8 minutes, until the zucchini is tender and any excess moisture cooks off.
- Add the tomato paste and turmeric and cook for 2–3 minutes until darkened slightly. Add the ground beef, season again with salt, break it up with a spoon, and cook until browned, about 4 minutes.
- Pour in the tomato sauce, bring to a boil, cover and simmer for 15 minutes, until thickened.
- Use a mortar and pestle to grind saffron and a pinch of sugar. Add ¼ cup of lukewarm water and let it steep while the sauce cooks. Set aside.
- Meanwhile, bring a pot of water to a boil and cook the spaghetti until just shy of al dente. (2 minutes less than suggested cooking time.) Drain and set aside.
- In a nonstick pot on high heat, pour in saffron water, remaining 3 tbsp of avocado oil and add about a cup of spaghetti. Coat the spaghetti with oil and saffron and spread out in an even layer.
- Spoon over some sauce, then add some more spaghetti. Repeat the layers until everything is used, finishing with spaghetti on top. Use a spatula to poke 3 air holes in the spaghetti.
- Let cook 8-10 minutes, until you see significant amount of steam. Wrap the lid in a clean kitchen towel and cover the pot. Cook over low heat for 45 minutes to an hour, until the bottom is deeply golden and crispy.
- Let rest for 5 minutes, then carefully invert onto a platter or scoop directly from the pot, making sure everyone gets some tahdig.

