In large bowl, thoroughly combine oil and spices for paneer. Place paneer in bowl and coat completely with oil-spice mixture. Set aside.
Heat ghee in large skillet over medium heat. Add onion and cook until softened, approximately 5 minutes.
Add serrano chile, garlic, and ginger. Reduce heat to medium-low. Cook, stirring occasionally, until mixture achieves a nice toffee color, approximately 20 minutes. Add drops of water periodically as needed if mixture starts to dry out or stick.
Add garam masala and paprika. Stir well. Cook until fragrant, approximately 3-5 minutes. Add more water as needed to reduce sticking.
Stir in tomato sauce, then transfer mixture to blender. Blend until smooth, then return sauce to skillet.
Add sliced bell pepper, fenugreek, and salt.
Simmer mixture until caramelized and paste-like, approximately 5-10 minutes on medium-low heat. Mixture will be thick and pepper slices will be softened.
While mixture simmers, heat 1 tablespoon oil in another large skillet over medium heat.
When oil is hot, add cubed paneer to oil and sprinkle a big pinch of salt on top. Pan-fry until golden brown on a couple of sides, approximately 3-5 minutes. Homemade paneer will need less time, store-bought paneer can handle 5 minutes. Transfer cooked paneer to plate.
Add cream to sauce mixture and stir until smooth. Taste and adjust seasonings as needed.
Add paneer to sauce and squeeze juice of one lemon quarter on top. Stir well. Add more lemon juice to taste.
Serve over basmati or cauliflower rice with naan. Top with plenty of chopped cilantro.