Heat half the oil in a large frying pan. Add the paneer, season well and cook for 3–4 minutes until golden all over. Remove from the pan and set aside. Add the remaining oil to the pan with the onion. Cook for 5 minutes until softened, then add the garlic and ginger and cook for a further 1 minute. Add the spices and cook for 30 seconds.
Stir in the tomato purée and stock and return the paneer to the pan with the beans. Season to taste, cover and simmer for 5 minutes. Add the peas and tomatoes and cook for a further 3 minutes, then stir in the garam masala. Divide between warmed bowls and serve with chapattis.