The Olympic champion threw 88.17m to beat Pakistan’s Arshad Nadeem, who took silver with a season’s best 87.82m.
Chopra, 25, who had to settle for the silver medal at last year’s championships, said: “It was my dream to win gold at the world championships.
“This has been a great championships for India and I am proud to bring another title to my country.”
The only other Indian medal winner at a World Athletics Championships came in Paris in 2003 when Anju Bobby George took bronze in the women’s long jump.
Chopra, who has 6.3 million followers on Instagram, qualified for the final with a season-best of 88.77m and felt he could have performed better in Sunday’s final.
“I don’t think I am the best thrower here. I wanted to throw more,” Chopra said.
“I wanted to throw more than 90m but it needs all parts of the puzzle to be there. I couldn’t put it all together this evening. Maybe next time.”
India and Pakistan are fierce sporting rivals and another chapter in their long history unfolded in Budapest as Chopra and Nadeem went head to head for gold.
Nadeem was competing in his first event of the season following elbow and knee surgery.
The Pakistani won gold at the 2022 Commonwealth Games but never registered an effort worthy of top spot in this final.