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.
Rio 2016
Fourth time lucky for Germany's Engleder in 50m rifle
11/08/2016 AT 16:36
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.
Rio 2016
Steven Scott takes bronze for GB in double trap, dances with gun to celebrate
10/08/2016 AT 19:03
Rio 2016
Anna Korakaki takes gold in shooting for Greece to bag second medal
09/08/2016 AT 20:43