Cook the potatoes in boiling salted water for about 10 minutes, or until tender. Remove with a slotted spoon, set aside, then cook the carrots in the same water for about three minutes, or until just tender but still with a bit of crunch.
Heat the oil in a heavy-based saucepan or karahi and fry the mustard seeds until they start to pop. Add the onion and fry over a moderate heat for five minutes, or until softened. Add the chilli powder and turmeric and fry for 30 seconds, then add the potatoes, carrots, tomatoes, salt, garam masala and 50ml/2fl oz water. Cook for 3-5 minutes, stirring to break up the potatoes a bit, until the tomatoes are reduced and jammy.
To serve, brush the Indian bread with a little melted ghee, butter or vegetable oil if you like, or leave plain. Serve the bhaji with naan breads and a fried egg.