Following the 1891 season's conclusion he did not play in the majors again for seven years. He played in the Eastern League with Toronto from 1896 to 1898 and returned to the Washington roster midway through the 1898 season. During the intervening time Freeman had bulked out and had begun to show real skill with the bat (in his 18 at bats in 1891 he had recorded a batting average of .222). In light of this the Senators decided to retrain Freeman as a right fielder, believing that he would be even more useful with the bat than he was with the ball. Albeit with only 107 at bats, he recorded a .364 batting average and a .523 slugging percentage during the final months of the 1898 season. Following his strong showing with the bat, he was named as the Senators' first-choice right fielder for the following season.
The 25 home runs that Freeman recorded in 1899 were truly remarkable by the standards of the time; the second highest total that year was Bobby Wallace's 12. Although Freeman failed to equal Ned Williamson's record of 27 home runs in a season, recorded in 1884, Freeman's total is generally regarded as the greater achievement owing to the dimensions of Williamson's home ballpark of Lakeshore Park (of Williamson's 27 homers, only two were scored away from home). Freeman's tally was not surpassed until 1919, when Babe Ruth scored 29 home runs with the Boston Red Sox.
Following the disbandment of the Washington Senators at the end of the 1899 season, Freeman spent the 1900 season with the Boston Beaneaters. His offensive numbers for the season were well down on the year before, with him hitting 6 home runs and recording 66 runs batted in. At the end of the season he and teammate Jimmy Collins moved across town to the Boston Americans, who decided to convert him into a first baseman. The 1901 season was something of a return to form: he finished second overall in home runs (12), RBI (114), and slugging percentage (.520), finishing behind Nap Lajoie in all categories.
In 1902 Freeman returned to playing as a right fielder, which was his better position, and led the American League with 121 RBI. In 1903 he helped Boston to the inaugural World Series by leading the league in both home runs (13), and RBI (104); in doing so Freeman became the first player to have led both the National League and the American League in home runs. The 1903 World Series was the only Series Freeman ever played in, and it proved to be lacklustre by his own standards - he recorded an average of .281 with three triples and four RBI over the course of eight games. On June 21, he hit for the cycle, the first Red Sox player to do so.
In the three years following Boston's World Series success Freeman's offense declined sharply. In 1906: he managed a .250 average with one home run and 30 RBI. After that, he decided to play for one further season, but was released by Boston after only four games of the 1907 season after going 2-for-12, including a home run. He went on to finish the season with the Minneapolis Millers of the American Association, recording an average of .335 and scoring 18 home runs. Following this successful season he decided to spend a further season with the Millers. The 1908 season was Freeman's last in professional baseball, in which he managed to score 10 home runs albeit with an average of .218.
In an 11-season career, Freeman was a .293 hitter (1235-for-4208) with 82 home runs and 713 RBI in 1126 games, including 199 doubles, 131 triples, 92 stolen bases, a slugging percentage of .462, and a .346 on-base percentage.