Heat oil in a large pan over medium heat. Add chopped onion, carrot, and mushroom. Cook vegetables until soft (10 minutes).
Add ground beef and cook until browned, breaking it up with a spoon.
Stir in tomato puree, oregano, basil, thyme, salt, and pepper. Simmer sauce for 20 minutes, stirring occasionally.
Stir in fresh parsley and remove from heat.
In a medium saucepan, melt butter over medium heat. Stir in flour and cook for 1-2 minutes to form a smooth paste.
Gradually whisk in milk, ensuring no lumps. Cook, whisking constantly, until sauce thickens (5-7 minutes). Season with salt, pepper, and nutmeg. Remove from heat.
Preheat oven to 375°F (190°C). Cook lasagna sheets according to package instructions until al dente. Drain and set aside.
In a deep pan or baking sheet, spread a thin layer of meat sauce on the bottom. Top with a layer of lasagna sheets.
Spread a layer of béchamel sauce over the lasagna sheets, followed by a layer of meat sauce. Sprinkle with a portion of shredded mozzarella cheese.
Repeat layers until all ingredients are used, finishing with a layer of béchamel sauce and a final sprinkling of mozzarella cheese.
Cover the baking dish and bake for 25 minutes in the preheated oven.
Remove foil or lid and bake for an additional 20-25 minutes, or until the top is golden and bubbly.
Let lasagna sit for 10 minutes before serving.
Garnish with extra chopped parsley (optional). Serve hot and enjoy!