Set your oven to 350oF and allow to preheat while you get the other ingredients ready.
Use a cooking pot to boil 2 cups of water. Place the cabbage leaves inside a heat-safe bowl. Carefully, without spilling, pour the boiling water unto the cabbage and set aside. Allow it to remain in the hot water for about 10 minutes.
Place a frying pan on a stove set to medium heat and pour in 1 tablespoon of olive oil. Allow to heat up then add half of the sliced onion together with the minced garlic and sauté until they become soft. Toss in the ground beef and season with a half tablespoon of salt and pepper. Allow it to cook well for 15 minutes. Remove from heat and set aside.
In the meantime, boil 1 cup of water in a cooking pot. Add in the remaining slices of onion, chopped tomatoes, and cilantro. Allow them to boil for about 15 minutes before removing and placing in a blender. Add ½ tablespoon of salt together with the dried basil and properly blend the mixture. Ensure that the mixture is uniform and smooth.
Now remove the cabbage leaves from the hot water and place a leaf inside a flat plate. Scoop spoonfuls of cooked beef mixture onto the cabbage leaf and add in some slices of mushrooms. Gently fold the cabbage leaf so that the filling is completely covered. You can use a toothpick to secure the leaf and keep the fillings from spilling. Repeat the same process for the remaining cabbage leaves and the ingredients.
Place the cabbage rolls into a baking sheet and set in the preheated oven. Allow it to bake for 10 minutes.
Serve in a plate preferably with some nice sauce and enjoy.
Best served warm. Feel free to add some grated mozzarella cheese as the topping.