Sopronhorpács első okleveles említése az 1220-as évekből származik, egy későbbi oklevélben Hurpach néven szerepel, 1464-ben már Puztahorpacz néven említik.
1906-ban kapja a mai, Sopronhorpács nevet, hogy megkülönböztethető legyen a hasonló nevű, Nógrád megyei településtől. 1536-tól Nádasdy-birtok, 1677-től viszont már a Széchényi család birtokolja.
Római katolikus temploma Szent Péter és Pál nevét viseli. A XII. század utolsó harmadában egyszerű falusi templomként épült, később az Osl család nemzetségi templommá építtette át. Az idők folyamán az alapjáig tönkrement templom helyére a XIII. század elején épített, kegyúri templom került. Ezt később hosszú szentéllyel bővítették, majd 1250 körül toronnyal látták el. Vélhetően ekkor készült a kor egyik leggazdagabb, 7-7 oszlopos román stílusú kapuzata, faragott oszlopokkal és ívekkel.
A XVI. század első felében a templomban tűz pusztított, következményeképpen beomlott a szentély és a szentély előtere. A szentély olyan erősen károsodott, hogy újra kellett építeni. A török időkben erősen romlásnak indult az épület. Ekkor az árkádíveket elfalazva a déli mellékhajót alakították át templommá, és csak azt használták. 1737-ben a szentélyt, majd 1741-47 között az egész templomot beboltozták. Ekkor készült el a barokk karzat és a torony. Így lehet, hogy a barokk torony egy román stílusú bélletes kaput rejt maga alatt. 1890-92-ben a barokk berendezéseket a kor divatja szerint romantikusra cserélték.
A templom feltárása és felújítása 1957-60 között történt, s ennek eredményeként nyerte el mai alakját. A templombelsőben a román és a gótikus, a barokk és a modern építészet stílusjegyei egyaránt megtalálhatók.
A volt Széchényi-kastély 1772-1773-ban épült barokk stílusban. Az 1800-as években felújították, Széchényi Ferenc húzatott rá manzárdtetővel lezárt emeletet, és alakított ki körülötte szép parkot. A kastély parkja ma már védett. 1872-ben és 1874-ben több hetet töltött Horpácson, a kastélyban Liszt Ferenc. Itt zenésítette meg Jókai Mór Petőfiről írt Holt költő szerelme című versét.