Marshall, 29, was released from his Super Rugby union contract with Auckland Blues after making just six appearances in other code since switching at the end of last season.
He said: “I’m very excited to be back in the NRL and grateful to the Dragons for the opportunity to represent this great club.
“To me, the Dragons are a team on the rise which I am very keen to be a part of. I’m looking forward to meeting all the boys and getting back into training and try to earn a spot in the team.”
Marshall won the Golden Boot as the best player in the world in 2010, and has won 27 caps for the Kiwis, captaining them from 2009 to 2012.
Dragons head coach Steve Price said: “Benji is a quality player who I believe will bring that real “x-factor”, especially in our attack.
“I have met with him a couple of times, he is a very proud man who wasn’t happy with how his rugby league career ended and is really determined to make the most of his second chance in rugby league.”
Marshall links up with the Dragons immediately on a deal until at least the end of the 2016 season.