
Lebanese Macaroni Bil Forn with Spiced Beef
A Lebanese-style baked macaroni with allspice-and-cinnamon scented beef, a gently sweet-savory tomato sauce, and a bubbling mozzarella crust. Comforting, make-ahead friendly and perfect for family tables.
- Prep
- 25 min
- Cook
- 1 hr 5 min
- Wait
- 15 min
- Total
- 1 hr 45 min
- Makes
- 1 casserole (8 generous servings)
Steps
Before you start
- Position an oven rack in the upper third and preheat the oven to 375°F (190°C) just before assembling.
- Grate the mozzarella from a block if you can; it melts more smoothly than pre-shredded.
- Have a large pot of water ready for the pasta; you will cook it only until slightly underdone because it finishes in the oven.
- Use a 9×13-inch (23×33 cm) baking dish, about 3 inches (7.5 cm) deep.
Cook the pasta
- Bring 4 quarts (4 L) of water to a boil in a large pot over high heat and add the 1 tbsp salt.
- Cook the macaroni for 2 minutes less than the package time.
- Drain well in a colander but do not rinse.
+ Show details− Hide details
Ready when: Pasta is flexible but still firm, with a white dot of raw center when bitten
Tip: Slightly underdone pasta keeps its shape and won't turn mushy in the oven.
Butter the pasta
- Brush a little of the melted butter on the bottom and sides of the 9×13-inch dish.
- Toss the drained pasta with the remaining butter in the empty pot so the pieces don't stick together.
+ Show details− Hide details
Ready when: Pasta looks glossy and the pieces separate easily
Soften the onions
- Heat the olive oil in a 12-inch (30 cm) deep skillet or Dutch oven over medium heat.
- Add the diced onions and a pinch of the salt, and cook, stirring often, for 6–8 minutes.
- Add the garlic and cook 30 seconds.
+ Show details− Hide details
Ready when: Onions are soft, translucent and just starting to turn pale gold; garlic smells fragrant
Tip: Lower the heat if the onions brown quickly; browned onions taste bitter in this mild sauce.
Brown the spiced beef
- Raise the heat to medium-high.
- Add the ground beef, allspice, cinnamon, pepper and 1½ tsp salt.
- Break the meat into small crumbles with a wooden spoon and cook for 8–10 minutes.
+ Show details− Hide details
Ready when: No pink remains, the liquid released by the meat has mostly evaporated, and the crumbles sizzle and begin to brown
Tip: Don't crowd or stir constantly; letting the meat sit for short stretches helps it brown for more flavor.
Simmer the sauce
- Stir in the tomato paste and cook 1 minute.
- Add the tomato sauce and water, scrape up any browned bits, and bring to a bubble.
- Reduce the heat and simmer, partly covered and stirring occasionally, for 15 minutes.
+ Show details− Hide details
Ready when: Sauce is thick enough that a spoon dragged across the pan leaves a clear trail; it should be slightly looser than meat sauce for spaghetti
Tip: The sauce is absorbed by the pasta as it bakes, so keep it a little saucy.
Finish the fillingOven 375°F / 190°C
- Taste the sauce and adjust the salt.
- Stir in half of the toasted pine nuts, if using.
- Preheat the oven to 375°F (190°C) while you assemble.
+ Show details− Hide details
Ready when: Sauce tastes well seasoned with a warm allspice aroma
Combine and layer
- Add the buttered pasta to the beef sauce and fold gently until every piece is coated.
- Spread half in the baking dish, sprinkle with 1 cup of the mozzarella, then add the remaining pasta and press lightly into an even layer.
+ Show details− Hide details
Ready when: Pasta is evenly coated with sauce and the dish is level
Tip: If your skillet is too small to hold everything, fold the pasta and sauce together in the large pasta pot.
Top and bake coveredOven 375°F / 190°C
- Scatter the remaining 2 cups mozzarella evenly over the top.
- Cover tightly with foil, tented slightly so the cheese doesn't stick.
- Bake on the upper-third rack at 375°F (190°C) for 20 minutes.
+ Show details− Hide details
Ready when: Edges bubble around the sides of the dish
Tip: Spray the foil with a little oil to prevent sticking.
Brown the topOven 375°F / 190°C
- Remove the foil and bake 15–20 minutes more at 375°F (190°C).
- For deeper color, broil on high for 1–2 minutes, watching constantly.
+ Show details− Hide details
Ready when: Cheese is melted with golden-brown spots and the center reads at least 165°F (74°C)
Tip: Broilers vary widely; never walk away while broiling.
Rest and serve
- Let the casserole rest on a rack for 15 minutes so it sets and cuts into neat squares.
- Sprinkle with the remaining pine nuts and parsley, then cut into 8 portions.
+ Show details− Hide details
Ready when: Bubbling has stopped and the cheese is no longer runny
Tip: Serve with a cucumber-yogurt salad or a crisp green salad to cut the richness.
Good to know
Tips
- Undercook the pasta by 2 minutes; it keeps cooking in the sauce and oven.
- Toast pine nuts in a dry skillet over medium-low heat 3–4 minutes until golden; they burn quickly.
- Don't skip the rest time; cutting too soon makes a loose, sloppy slice.
- Drain excess fat from the beef if it looks greasy before adding the tomato.
Make ahead
"Assemble through step 7, cool completely, cover and refrigerate up to 24 hours. Add 10 minutes to the covered baking time, and bake until the center is hot, 165°F (74°C)."
Storage & reheating
"Room temperature: up to 2 hours. Fridge: airtight up to 4 days. Freezer: portions wrapped well up to 3 months; thaw overnight in the fridge. Reheat covered at 350°F (175°C) for 15–20 minutes (or microwave single portions) until 165°F (74°C) in the center."
Substitutions
- ground beef (80/20) → ground lamb or half lamb, half beef. Gives a more traditional, richer flavor; use the same weight.
- low-moisture mozzarella → half mozzarella, half mild white cheddar or Akkawi. Rinse and soak Akkawi first if salty; use equal total weight.
- pine nuts → slivered almonds. Toast them the same way for similar crunch.
- ground allspice → Lebanese seven-spice (baharat). Use the same amount and skip the cinnamon.