Graham was born in Fayetteville, North Carolina, the second of ten children born to Alexander (September 12, 1844 – November 2, 1934) and Katherine B. Sloan Graham (March 8, 1855 – January 1, 1939). His brother, Frank Porter Graham, was president of the University of North Carolina at Chapel Hill and was later a U. S. Senator. Every one of his brothers and sisters also finished college. He played baseball at the University of North Carolina at Chapel Hill, where he was also a member of the Dialectic Society, a debating organization.
Graham went on to play baseball in the minor leagues for seven seasons, starting with the Charlotte Hornets in the Class C North Carolina League in 1902. The following year, he played with Nashua, New Hampshire's team in the Class B New England League. Graham also played for the Lowell, Massachusetts and Manchester, New Hampshire teams that season, eventually batting .240 in 89 games with seven triples. In 1904, he spent the entire season with Manchester, hitting .272 in 108 games.
Graham started the 1905 season with the Binghamton Bingoes in the Class B New York State League. He was purchased by the Giants, who had won the National League pennant the previous year (and had refused to play the Boston Americans in a World Series), reporting to the team on May 23, 1905. On June 29, the Giants were the visiting team against the Brooklyn Superbas at Washington Park. At the conclusion of the eighth inning, Graham replaced right fielder George Browne. In the top of the ninth inning, Graham was on deck when Claude Elliott flied out, resulting in the third and final out. Graham played the bottom of the ninth in right field, never having the ball hit in his direction. That game turned out to be his only appearance in the major leagues.
Graham returned to the New York State League, appearing with the Scranton Miners for the rest of the season and in 1906. For the 1905 minor league season, playing for two teams, he hit .288 in 64 games. The following season, he hit a career-best .329, split between two teams: Scranton, where he hit .336 in 124 games; and the Memphis Egyptians of the Class A Southern Association, where he hit .262 in a dozen games. He returned to Scranton for the 1907 and 1908 seasons, where he hit .285 and .263 in 131 and 130 games, respectively. Graham ranked second in batting average for the New York State League, losing the 1906 batting title by four points.
Graham completed his medical degree from the University of Maryland in 1905. While there, he had also played on the school's 1904 and 1905 baseball teams. Graham had also added some weight to his 5’ 10" frame and resumed his collegiate football career. He played halfback for Maryland's football team in 1904 and 1905. He obtained his license the following year and began practicing medicine in Chisholm, Minnesota.
"Doc" Graham, as he became known after his career as a ballplayer, served the people of Chisholm for fifty years. From 1919 to 1959, Graham was the doctor for the Chisholm schools. The Graham Scholarship Fund, established in his honor, provides financial assistance to two Chisholm High School graduating seniors each year. The award is given to one boy and one girl, $500 to each. For many years, "Doc" Graham made arrangements to have used eyeglasses sent to his Chisholm office. On Saturdays, he would have the children of the Iron Range miners, from Grand Rapids to Virginia, come to his office, have their eyes checked and then fit them with the proper set of glasses, all free of charge.
Graham died in Chisholm in 1965. He is buried in Rochester, Minnesota.
A biography of Graham, Chasing Moonlight: The True Story of Field of Dreams' Doc Graham, was written by sportswriter Brett Friedlander and college professor Robert W. Reising in April 2009.
In 1975, author W. P. Kinsella happened to notice Graham's entry in The Baseball Encyclopedia. He made note of his unusual career, and then incorporated Graham as a character in his 1982 novel Shoeless Joe, on which the movie Field of Dreams was based. Much of the description of Graham's life in the novel came from the people of Chisholm as Kinsella visited seeking information on him.
In the novel, the dates of Graham's big-league appearance and death are kept as in real life, making the 1905 appearance 74 years prior to the book's 1979 timeframe, and the Ray Kinsella character quickly finds out that Graham has been dead since 1965. The time-travel scene has Kinsella meeting Graham in 1955, ten years prior to Graham's death.
In the movie, the Fenway Park scoreboard shows Graham's appearance as having taken place in 1922, 66 years prior to the film's 1988 time frame. A woman in Chisholm, a long-time friend of Graham's who wrote his eulogy in the newspaper on the day of his death, later tells Ray Kinsella (Kevin Costner) and author Terrance Mann (James Earl Jones) that Graham had died in 1972. In the time-travel sequence of the movie, lead character Ray Kinsella goes back to the year of Graham's death, and is told by "Doc" Graham (Burt Lancaster) that his appearance was on the final day of the season, rather than the middle.