Preheat the oven to 375°F (190°C).
Heat the olive oil in a large skillet over medium heat.
Add the chopped onion and cook until softened.
Add the ground beef and cook, breaking it into small pieces, until browned.
Stir in the thyme, oregano, chili flakes, salt, and black pepper.
Pour in the tomato sauce and stir well.
Simmer the meat sauce over medium-low heat until slightly thickened. Set aside.
To make the béchamel, melt the butter in a saucepan over medium-low heat.
Whisk in the flour and cook briefly until smooth.
Gradually pour in the milk while whisking continuously.
Add the heavy cream and continue whisking.
Season with salt and black pepper.
Cook until smooth, creamy, and thick enough to coat the back of a spoon.
Spread a layer of meat sauce over the bottom of a 9×13-inch baking dish.
Add béchamel and a small amount of shredded mozzarella.
Cover with lasagna sheets.
Repeat the meat sauce, béchamel, mozzarella, and pasta layers.
Finish with béchamel and the remaining mozzarella cheese.
Bake for 35–40 minutes, until bubbling and golden on top.
Remove from the oven and rest for 15 minutes before slicing.