Chopra started with a foul throw and then registered 82.39m with his second attempt. He improved with his third attempt, when he threw the javelin 86.37m.
He was still not set for a medal, but he registered a throw of 88.13m with his fourth attempt to shoot up to second place from fourth.
His fifth and sixth attempts were foul throws.
Chopra had topped the Group A qualification round and qualified for the final at second place behind Peters by sending his spear to 88.39m for his third career-best throw. Peters had topped Group B with an effort of 89.91m.
The other Indian in the fray, Rohit Yadav finished at 10th with a best throw of 78.72m. Rohit had finished 11th overall in the qualification round with a best throw of 80.42m.
The 21-year-old Indian had recorded a season’s and personal best of 82.54m while winning a silver at the National Inter-State Championships last month.
Chopra had won Indian athletics’ maiden gold in the Tokyo Olympics last year. He is only the second Indian to have won an individual gold in the Olympics, after shooter Abhinav Bindra, who clinched the yellow metal in 2008 Beijing Games.
(With PTI inputs)