The 21-year-old's new terms at Langtree Park are due to expire at the end of the 2016-17 season.
Greenwood joined the Saints from Saddleworth Rangers in 2012.
"This is great news for both the club and Joe," Saints coach Nathan Brown told the club's official website. "He is a one of a host of younger players who have had a reasonable amount of experience over the past few years and have done well.
"He has a bright future and the more experience he gains and the more he keeps on improving in key areas then the closer he will be to becoming a permanent fixture in the team."
St Helens continue their Super League campaign on Friday when they host Widnes Vikings.