Calienta la mitad del aceite en una sartén amplia a fuego medio. Sofríe la cebolla durante 5 minutos, hasta que esté transparente, añade el ajo y cocina 30 segundos. Incorpora la ternera, desmenúzala y cocínala hasta que pierda el color rosado.
Agrega el aceite restante y las setas. Cocina de 6 a 8 minutos, hasta que suelten y evaporen su líquido y comiencen a dorarse. Añade la salsa de tomate, la mitad de la sal y la pimienta, y cocina a fuego medio-bajo durante 15 minutos, hasta obtener un relleno espeso.
Derrite la mantequilla en una cacerola a fuego medio. Añade la harina y remueve durante 1 minuto. Incorpora la leche caliente poco a poco, batiendo para evitar grumos, y cocina de 6 a 8 minutos, hasta que la salsa cubra la cuchara. Sazona con la sal restante y la nuez moscada.
Precalienta el horno a 180 °C. Extiende una capa fina de salsa de tomate en una fuente de 23 x 33 cm. Coloca cuatro láminas de pasta, una tercera parte del relleno, una tercera parte de la bechamel y una tercera parte del parmesano. Repite las capas dos veces y termina con la mozzarella.
Cubre la fuente con papel de aluminio, sin dejar que toque el queso, y hornea durante 25 minutos. Retira el aluminio y hornea de 10 a 15 minutos más, hasta que la superficie esté fundida y dorada en los bordes.
Deja reposar la lasaña durante 10 minutos antes de cortarla. Sirve cuando las capas estén firmes, la salsa siga caliente y el queso conserve una ligera elasticidad.