Preheat your oven to 350°F (180°C).
In a large saucepan, brown 1/2 pound of ground beef and 1/2 pound of ground pork over medium heat. Remove all excess fat. Add the onion, garlic, and carrot dice to the pan and continue cooking for 5 minutes. Add a pinch of salt, pepper, and Italian seasoning, you can also add a small amount of red pepper flakes here. Then add the whole can of San Marzano tomato into the pot. Allow the sauce to simmer for approximately 15 minutes, then use spatula to break the tomatoes. Simmer for another 10 minutes while we prepare the bechamel sauce.
In a separate saucepan, melt four tablespoons of butter over medium heat. Add 4 tablespoons of all-purpose flour and cook, stirring constantly, for 1-2 minutes until the mixture is bubbly and golden. Slowly add two cups of milk while continuously whisking to prevent lumps. Reduce the heat to low and cook, stirring frequently, until the sauce is thick and smooth. Season with salt and a pinch of freshly grated nutmeg.
We use a fresh lasagna sheet here so there is no need to cook. If you are using the dry type, cook the lasagna noodles according to the package instructions. Drain and set aside.
Spread a layer of tomato sauce in the bottom of a 9x13-inch baking dish. Add a layer of cooked lasagna noodles, followed by a layer of bechamel sauce, fresh tomato slices, and the ricotta mixture. Repeat until all of the ingredients are used. Finishing with a layer of mozzarella and parmesan on the top.
Cover the dish with foil and bake for 30 minutes. Then, remove the foil and bake for an additional 15 minutes, or until the cheese is brown. Let the lasagna cool for a few minutes before slicing and serving. Enjoy!