We present a quantum algorithm for calculating the vibronic spectrum of a molecule, a useful but classically hard problem in chemistry. We show several advantages over previous quantum approaches: vibrational anharmonicity is naturally included; after measurement, some state information is preserved for further analysis; and there are potential error-related benefits. Considering four triatomic molecules, we numerically study truncation errors in the harmonic approximation. Further, in order to highlight the fact that our quantum algorithms primary advantage over classical algorithms is in simulating anharmonic spectra, we consider the anharmonic vibronic spectrum of sulfur dioxide. In the future, our approach could aid in the design of materials with specific light-harvesting and energy transfer properties, and the general strategy is applicable to other spectral calculations in chemistry and condensed matter physics.