In 1937 he started playing for Gårda BK. He made his Allsvenskan debut on 1 May 1938 against Malmö FF which resulted in a scoreless draw. During his time there, he played a total of 54 matches scoring 16 goals.
IFK Göteborg
In 1941, he was recruited by IFK Gothenburg. During his time in the club, Gren won one national championships in the 1941/42 season and was top scorer in 1947. He won the first ever Guldbollen in 1946. His first league match for IFK was in August 1941, IFK played against Gårda BK winning 6–1 with Gren scoring the first goal. His last league game for IFK was on June 6, 1949 versus IFK Norrköping at Gamla Ullevi in which Gothenburg lost 0–1. He had played 164 matches for IFK and scored 78 goals.
AC Milan
On 11 September 1949, he debuted for A.C. Milan against Sampdoria, with Milan winning 1–3. During his time with Milan, he became the 'Gre' part of the famous Gre-No-Li trio with his Swedish teammates Gunnar Nordahl and Nils Liedholm. He also earned the nickname the "Il Professore" which is Italian for "the professor". While at A.C. Milan, he won the league title for the 1950/51 season. He made 133 appearances in Serie A and scored 38 goals. Gren also managed AC Milan in 1952 before moving to AC Fiorentina.
In 1953, Gren moved to AC Fiorentina where he made 55 appearances and scored 5 goals. Then in 1955, Gren moved to Genoa CFC where he made 29 appearances and 2 goals. Tired of Italy, Gren decided to move back to Sweden. In 1956, Gren returned to Gothenburg where he joined Örgryte IS as both player and manager. Gren left in 1959 and played for GAIS in 1963.
International career
Gren made his debut for Sweden on 29 August 1940 in the team's 3–2 win over Finland. During the next decade he played 40 matches for the national team, ending in 1949 with 3–1 against Ireland in a World Cup qualifier and 2–2 in a friendly against Hungary. During this era Gren was part of the team that won the gold medal in the 1948 Olympics in London, scoring twice against Yugoslavia in the final on Wembley. As a professional, Gren was suspended from the Swedish national team. However, as the World Cup of 1958 was to be played on home soil and the Swedish team seemed too weak for the competition, the Swedish Football Association changed this rule, and Gren, having now ended his professional career and playing in the Swedish Division 2, was again eligible. Gren went on to be the oldest player of this World Cup, 37 years old, and played an important role in the silver medal winning Swedish team. He played five matches during the World Cup and scored one goal, 2–1 against West Germany in the semi-final. He was also named on the 1958 World Cup All-Star Team. Gren's last cap came on 26 October 1958 against Denmark in a 4–4 draw. At the time, he was 37 years, 360 days old. In all, Gren made 57 appearances for the national team, scoring 32 goals.