Indian benchmark indices ended higher for the third consecutive session on July 31, with the Nifty closing above the 24,350 mark, supported by gains in financials, auto and select heavyweight stocks.