Evans made his major league debut with the Indians in 1915, playing 42 games for them. He spent most of 1916 with the minor leaguePortland Beavers, playing just 33 games for the Indians. 1917 was Evans' first as a regular, as he served as the Indians' primary third baseman. However, he batted just .190, and in 1918, he split time at third base with veteran Terry Turner.[1] The following offseason, the Indians traded for third baseman Larry Gardner, pushing Evans back to the bench.[2]
Evans played on Cleveland's 1920 World Series championship team, batting .349 in 56 games as a reserve outfielder. He appeared in four of the seven games of the Series, picking up 4 hits in 13 at-bats. Evans remained with the Indians until the end of the 1922 season.[1] He was then traded to the Senators for Frank Brower on January 8, 1923.[3]
Evans' first year in Washington saw him set career highs in several categories, including hits (98), runs batted in (38) and runs scored (42). He played five different positions for the Senators: first base, third base, and all three outfield positions. He appeared in 106 games overall, second-highest total of his career. Still, the Senators let him go, and he signed with the Browns for the 1924 season.[1]
Evans spent two seasons in St. Louis as a reserve. In his final major league season, 1925, he batted .314 in 55 games. He played one more season in the minors in 1927, batting .323 for the Gulfport Tarpons, before retiring.[1]