Bring a large pot of salted water to a boil. Cook lasagna noodles according to package instructions. Drain and lay flat so they don’t stick.
Heat olive oil in a heavy-bottomed pot or large pan over medium heat. Add ground beef and cook and break up until browned.
Add onion and garlic and cook for a couple of minutes until softened. Stir in tomato paste, marinara sauce, salt, pepper, Italian seasoning, and bay leaf.
Reduce to low heat and simmer while you prepare the ricotta layer.
In a large bowl, combine ricotta cheese, heavy cream, mozzarella, basil pesto and black pepper. Mix well.
Preheat oven to 375°F and lightly grease a baking dish, I usually use a 9×13-inch baking dish so the layers stay balanced and cook evenly, but an 8×8-inch dish works- just expect thicker layers and a few extra minutes in the oven.
Spread a thin layer of meat sauce on the bottom of the dish. Add a layer of noodles, followed by a layer of the pesto ricotta mixture. Spoon on more meat sauce.
Repeat layers until ingredients are used, finishing with noodles, sauce, and finish with mozzarella on top.
Cover tightly with foil. Bake lasagna covered for 25 minutes, then uncover and bake another 15 minutes until bubbly and lightly golden.
Let rest 10 minutes before slicing so the layers hold together.