Thompson is a city in Grand Forks County, North Dakota in the United States. It is part of the "Grand Forks, ND-MN Metropolitan Statistical Area" or "Greater Grand Forks". It is located on the border of Allendale and Walle townships, with Walle on the east and Allendale on the west. The population was 986 at the 2010 census. Thompson was founded in 1881.
Thompson is located at 47°46′33″N 97°06′24″W / 47.775821°N 97.106538°W / 47.775821; -97.106538 (47.775821, -97.106538).
According to the United States Census Bureau, the city has a total area of 0.5 square miles (1.2 km2), all of it land.