Heat oil in a large pan over medium heat and add cumin seeds. Let them sizzle until fragrant, about 30 seconds.
Add the chopped onion and sauté, stirring occasionally, until golden and soft, about 8-10 minutes. The kitchen will fill with a sweet aroma as the onions caramelize.
Stir in the minced garlic and grated ginger, cooking for about 1 minute until fragrant and slightly bubbling.
Add the chopped tomatoes and cook, stirring occasionally, until they break down and the oil begins to separate from the masala, roughly 10 minutes. The mixture will turn thick and fragrant.
Sprinkle in turmeric, garam masala, and coriander powder. Toast the spices for about 30 seconds, stirring constantly to release their aroma without burning.
Add the sliced mushrooms and cook, stirring often, until they release moisture and develop a deep brown color, about 8 minutes. The mushrooms should look juicy but browned around the edges.
Gently fold in the cubed paneer, stirring softly so it coats in the rich masala. Let it warm through for about 3-4 minutes, watching for the sauce to thicken slightly.
Season with salt to taste, and if needed, add a splash of water to loosen the sauce. Simmer for another 2 minutes to allow flavors to meld.
Finish by squeezing fresh lemon juice over the curry, stirring gently, and adding a drizzle of cream if you like a richer texture. The sauce should be glossy and fragrant.
Remove from heat and let sit for a minute. Garnish with chopped cilantro if desired, then serve hot with rice or naan, enjoying the rich, aromatic flavors.