Thompson is a city in Grand Forks County, North Dakota, 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 1,101 at the 2020 census. Thompson was founded in 1881.