Vice President Venkaiah Naidu presented the National Film Awards to the year's winners with actors Vicky Kaushal, Ayushmann Khurrana and Keerthy Suresh receiving top honours.
Amitabh Bachchan, who was supposed to receive the Dadasaheb Phalke Award at the ceremony, skipped the event citing ill health.
The 77-year-old actor will now be honoured by President Ram Nath Kovind on December 29 at a high tea, to be hosted at Rashtrapati Bhavan for all the winners.
Naidu said he was happy that films, which were recognised at the 66th edition of National Film Awards, broke stereotypes and attacked superstitions.
"The feature films this year are as much about emotions as they are about intelligence... In the banquet of films, we have films that break stereotypes and attack superstitions sensitively. We see through the makers' imagination the orthodox traditions giving way to modern solutions," Naidu said at the ceremony.
He also praised non-feature films for dealing with a wide range of subjects such as female infanticide, human trafficking and adoption.
Information and Broadcasting minister Prakash Javadekar called cinema the soft power of a strong country like India.
"I always believe that cinema is a soft power of a strong India. The influence of this soft power is visible when I go to other countries. The culture and art of a country is its power and we need to present this power to the whole world," he said.
Ayushmann won the Best Actor award for his work in Andhadhun.
Vicky Kaushal, who shared the Best Actor award for his work in Uri: The Surgical Strike, attended the ceremony with Akshay Kumar, the co-producer and star of Pad Man.
Keerthy, the winner of Best Actress award for her portrayal of yesteryear Telugu star Savitri in bilingual biopic Mahanati, was elated to get recognised for the film.
"I'm happy that my effort has been appreciated. I feel blessed and honoured to receive the National Award for a film which is so close to my heart," the actor said.
Uri director Aditya Dhar won his first National Award for the film based on the 2016 Indian Army's surgical strikes on terror launch pads in Pakistan after the Uri attack.
"It is the best feeling. Since childhood whenever I used to think about getting into films, the first thought that would come to my mind was to win the National Award one day and receiving it for my debut film is surreal," Dhar said.
Hellaro, a Gujarati film on women empowerment in a patriarchal society, won the best feature film honour.
Director Abhishek Shah said as a feminist, it was great to receive the award for a subject that he is so passionate about.
The best popular film providing wholesome entertainment went to Badhaai Ho, a story breaking the stereotype of middle age pregnancy through easy narrative. Director Amit Ravindernath Sharma said he never imagined the film would touch so many hearts.
"It's overwhelming. I never imagined we will get so much love. Audience loved the movie and critics appreciated it. It all feels like a dream," he said.
For her portrayal of cantankerous yet sympathetic matriarch in the film, veteran theatre and film actor Surekha Sikri won the Best Supporting Actress award.
Sikri, who received an standing ovation, said it was an emotional moment for her.
"National Award is a big honour and getting standing ovation was a very emotional moment for me. This love has added years to my life," she said.
Music composer-actor Swanand Kirkire won his first the best supporting actor award for his heartwarming performance in Marathi film Chumbak.
"I never thought that I will get this honour for acting in a small film like Chumbak. National Film Awards don't discriminate between Hindi or regional films or big and small films. I'm happy that I got this award for a Marathi film," Kirkire said.
The award for the Best Hindi film was presented to Andhadhun, directed by Sriram Raghavan.
"I'm very happy. I didn't expect all of this. The movie got a lot of love last year, so more love is always good," Raghavan said.
The filmmaker also won the National Award for best adapted screenplay along with co-writers Arijit Biswas, Pooja Ladha Surti and Hemanth Rao.
Surti added it felt "fabulous" to win a National Award.
"We were a team of writers so it feels great to be recognised," the writer said.
Filmmaker Sanjay Leela Bhansali won the award for Best Music Direction (songs) for his magnum opus Padmaavat.
The director said he loved creating the music for the film, which also won best choreography for Kruti Mahesh Madya and Jyothi D Tommaar, and best singer for Arijit Singh.
Bindhu Malini Narayanswamy won the Best Female Playback Singer for Nathicharami. Both the singers gave the ceremony a miss.
'Padmaavat has had a journey of its own and that has made this film even closer to my heart. The film's music was something I personally loved. Whether Ghoomar or Binte Dil, they had their own beauty," Bhansali said in a statement.
Hellaro actor Neelam Panchal, who was one of the 13 actors to receive the special jury award at the ceremony, said their hard work has paid off.
Kannada film Ondalla Eradalla, won the Nargis Dutt Award for Best Feature Film on National Integration, while Priyanka Chopra's production Paani received the best film on environment conservation/preservation.
Four child actors -- PV Rohit (Ondalla Eradalla), Sameep Singh Ranaut (Harjeeta), Talha Arshad Reshi (Hamid) and Shrinivas Pokale (Naal) -- shared the Best Child Artiste award.
In the non-feature film category, 22 titles were given the National Film Award.
Photographs: PTI Photos