For a politician not known to easily make concessions, Indian Prime Minister Narendra Modi's budget on Tuesday was a successful early test of his ability to run a fickle coalition after a shock poll result last month, but it came at a cost.

Modi has been forced to rely on allies to run a government for the first time in his career, having earlier delivered thumping majorities for his Hindu nationalist Bharatiya Janata Party (BJP) nationally and in his native Gujarat state.

Boosted by a record dividend from the central bank, Modi allocated more than $5 billion for infrastructure and other projects in the home states of two key allies, cheering them but prompting the opposition to call it an attempt to "bribe" the coalition and undermine other regions.