David Thompson wuchs in Ohio auf und erlernte dort den Beruf des Schmieds; später war er in der Landvermessung für die Eisenbahn tätig. Im Alter von 19 Jahren machte er sich zu Fuß auf den Weg in das Oregon-Territorium. Unterwegs nahm er Aushilfsarbeiten an. Bei seiner Ankunft war er verarmt. In Oregon arbeitete er wieder als Landvermesser für die Eisenbahn. Zwischen 1857 und 1869 war er in diesem Beruf sehr erfolgreich. Er hatte mehrere Verträge in der Landvermessung zu erfüllen und wurde dabei ein reicher Mann. Schon bald schloss er sich mit Partnern zusammen.
Im Jahr 1876 war David Thompson Delegierter zur Republican National Convention in Cincinnati, auf der Rutherford B. Hayes als Präsidentschaftskandidat der Partei nominiert wurde. Zwischen 1879 und 1881 war Thompson Bürgermeister von Portland. Danach war er 1882 und 1888 wieder Abgeordneter im Repräsentantenhaus von Oregon, ein Mandat, in das er auch 1878 gewählt worden war. Im Jahr 1890 kandidierte er erfolglos für das Amt des Gouverneurs von Oregon. Im Jahr 1892 wurde Thompson von Präsident Benjamin Harrison zum Gesandten im Osmanischen Reich ernannt. Dieses Amt bekleidete er bis 1893. Mit dem Regierungsantritt von Präsident Grover Cleveland, der 1892 in eine zweite Amtszeit gewählt worden war, wurde Thompson im Jahr 1893 von seinem Posten abberufen. Später war er Leiter (Regent) der University of Oregon. David Thompson war mit Mary R. Meldrum verheiratet, mit der er drei Kinder hatte.