Fill a large pot with water. Bring to a boil and add salt.
Peel and discard the top 2-3 leaves from the cabbage and then cut the core.
Place the cabbage in the boiling salted water and cook for 5 minutes.
Let the cabbage cool, pull the leaves, and then pat dry well with paper towels.
Heat a large skillet with some olive oil.
Add the onions and cook for 4-5 minutes or until translucent.
Add the chili flakes and fresh garlic and cook until fragrant.
Add the beef to the skillet crumbling it with your fingers or break it up using a wooden spoon.
Brown the beef completely and then season with Italian seasoning, salt, and pepper.
Add the crushed tomatoes
, add about 1 cup of water (optional) and season with salt and pepper.
Stir in the mushrooms.
Cover and simmer the meat sauce over low heat for 1 1/2 hour or until the beef is fork tender.
Once the sauce is almost done, get started on the ricotta mixture.
In a medium-sized bowl add the ricotta cheese, fresh basil, parmesan cheese, granulated garlic, egg, salt, and pepper, and mix until well combined.
Preheat oven to 375 degrees.
Ladle some meat sauce on a 9x13 baking dish then place a layer of cabbage leaves.
Ladle some meat sauce over the cabbage leaves, then a layer of ricotta cheese, layer with fresh mozzarella and then repeat steps until you reach the top of the baking dish.
Cover with shredded mozzarella, parmesan cheese, and dried oregano if desired.
Cover with aluminum foil and bake for 20 minutes.
Remove the aluminum foil and cook for an additional 10 minutes or until the cheese is completely melted.
Let the lasagna sit for a minimum of 30 minutes, serve and enjoy!