The 41-year-old Vietnamese army member racked up a score of 202.5 in 20 shots, just 0.4 of a point ahead of Wu, a 24-year-old who is competing in his first Olympics.
Wu took the lead early on but Hoang denied him with a stunning last effort as Brazil claimed their first medal of the Games.
"In the last shot, all I was trying to do was finish it off," said Hoang.
Fourth time lucky for Germany's Engleder in 50m rifle
China's Pang Wei took the bronze.
Defending Olympic champion Jin Jong-oh of South Korea failed to recover from a poor start and finished fifth.
Steven Scott takes bronze for GB in double trap, dances with gun to celebrate
Anna Korakaki takes gold in shooting for Greece to bag second medal