Blend onion, tomatoes, vinegar, garlic, ginger, tomato paste, garam masala, mustard, turmeric, cumin and coriander in a processor until a smooth paste forms.
Melt butter in a large heavy pan over medium-high heat. Add paste and cook until golden and fragrant, stirring constantly, about 3 minutes. Add chicken and potatoes, cooking for 5 minutes. Pour in water and add chilli powder; bring to the boil then reduce the temperature to medium-low. Simmer, covered, until potatoes are tender, about 15 minutes. Uncover and simmer until chicken is cooked through, about 5 minutes longer. Season with salt and pepper before serving.