Heat the oil in a large skillet over medium heat until shimmering. Add the diced onion and cook until golden and fragrant, about 5 minutes, stirring often.
Add the minced garlic and cook for another 30 seconds until fragrant, watching for a burst of aroma and slight bubbling.
Toss in the sliced mushrooms and cook for 5-7 minutes, stirring occasionally, until they release their juices and start to brown around the edges, filling the kitchen with earthy aroma.
Sprinkle in the turmeric, coriander, and garam masala, and cook for 1 minute, stirring constantly until the spices are fragrant and evenly coated the mushrooms and onions.
Add the chopped tomatoes and cook for 8-10 minutes, stirring occasionally, until the mixture darkens, thickens, and the oil begins to separate slightly from the sauce.
Gently fold in the paneer cubes, making sure they are coated with the masala, and pour in the heavy cream. Let everything simmer gently for 3-4 minutes until heated through and velvety.
Taste the sauce and season with salt as needed. Squeeze in a little lemon juice for brightness, then turn off the heat.
Garnish with freshly chopped cilantro and serve hot with naan or rice, enjoying the velvety, fragrant masala with tender paneer and earthy mushrooms.