-
1
Preheat the oven to 350.
-
2
In a large skillet, heat 2 tablespoons butter over medium-high heat.
-
3
Add the onion and cook until softened, 3 to 5 minutes.
-
4
Add the beef and cook until no longer pink, about 5 minutes.
-
5
Stir in the cinnamon and nutmeg and season with salt and pepper.
-
6
Add the tomato sauce and cook until most of the liquid has evaporated, 3 to 5 minutes.
-
7
Pour into an 8-inch square baking dish and set aside.
-
8
In a medium bowl, lightly beat the eggs and set aside.
-
9
In a small saucepan, melt the remaining 2 tablespoons butter over medium-high heat.
-
10
Whisk in the flour and cook, whisking often, until the mixture is smooth, about 30 seconds.
-
11
Slowly whisk in the milk until thickened.
-
12
Lower the heat to medium and stir in the cream cheese and ricotta; season with salt and pepper.
-
13
Whisk one-quarter of the cheese sauce into the reserved eggs until smooth.
-
14
Whisk the egg mixture into the cheese sauce in the saucepan.
-
15
Pour the sauce over the meat in the baking dish and spread evenly.
-
16
Bake until the top is lightly browned and firm to the touch, 40 to 45 minutes.
-
17
Let cool for 10 minutes; cut into squares to serve.