Triceratops były roślinożerne i prawdopodobnie jadły nisko rosnące rośliny ze względu na ich krótkie szyje i niskie głowy. Być może zjadły krzaki, małe drzewa i trawy. Mogli jeść wyższe rośliny, powalając je rogami i dziobami.
Triceratops miał od 432 do 800 zębów ustawionych w kolumnach od 36 do 40 i ułożone w stos od trzech do pięciu zębów. Dzieje się tak dlatego, że dinozaur zjadł ogromne ilości materii roślinnej przy ścinaniu pionowej siły, powodując szybkie zużycie zębów. Przy tak wielu zębach w szczęce triceratops może zastępować zęby w sposób ciągły przez całe życie.