Thompson is a city in Grand Forks County, North Dakota, United States. It is part of the Greater Grand Forks Metropolitan Statistical Area. 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, and was estimated at 1,091 in 2024.