There have been a few movies which have been based somewhat on historical events that occurred in India like Mughal-e-Azam, Jodha Akbar, Mangal Pandey, Lagaan, The legend of Bhagat Singh, Netaji Subhash Chandra Bose:The forgotten hero, etc. But my pick for the best movie would be:
Released in 1982, directed by Richard Attenborough and starring Ben Kingsley as M.K. Gandhi, is about the life of Gandhi and his unarmed struggles against the might of the British Empire. Ben Kingsley's role not only deservedly won him an Oscar for best actor but made him immortal. Richard Attenborough got an Osca for best director.
The film is a must watch for young people unaware of the realities of Indian Freedom Struggle!
There is also a very good TV series by ABP news by the name of "Pradhanmantri" (English Translation : Prime Minster ) which covers post independence history of India.