The oldest, western part of the church was built in the 1200s, though scholars disagree on the exact decade: an early font suggests the start of the century, while radiocarbon dating of burials points to the second half. This original church was a small Romanesque building with a narrower chancel and round-arched windows, and the lower part of the sturdy tower also survives from this phase.
In the 1300s the church was extended eastward, giving it the form of a larger Gothic hall church with pointed windows, and a sacristy was added to the north. A richly worked iron door from this period still survives in the south porch. By the mid-1400s star vaults had been raised over the nave, and these were soon decorated with frescoes painted directly onto wet plaster, while the porch seen today was added towards the end of that century.
The 1600s and 1700s brought major changes. A new spire was raised in 1672, and during the 1740s Carl Cronstedt of Gäddeholm funded a burial chapel on the church's east end and had a new west doorway cut through the tower, considering the existing south portal too narrow for safe escape in an emergency. At this time larger windows were installed and the church was whitewashed, covering over the medieval paintings; the chancel window was also reduced to its present round shape. The current obelisk-shaped spire, possibly modelled on Västerås Cathedral and Ängsö church, was built in the early 1780s, and the roof was rebuilt with its present mansard form shortly afterwards.
A major restoration in 1905, led by architect Agi Lindegren, altered the interior considerably: walls and vaults were replastered and decoratively painted, floors were replaced, and older grave slabs were lifted from the floor into the walls. A further restoration in 1972 uncovered and conserved surviving medieval wall paintings on the north wall, after earlier debate about whether to preserve the 1905 decorative scheme instead.
Surviving fragments on the north wall include a depiction of the Tree of Jesse with numerous kings, prophets and apostles, and a scene of Christ being nailed to the cross, said to be unusually elaborate for surviving Swedish medieval church art on this subject. The church also holds a sandstone font from around 1200, a mid-15th-century North German altar cabinet with a rare depiction of Mary's coronation before the Trinity, and a red limestone sarcophagus from the 1660s commemorating Nils Posse and Carin Ribbing.
The Cronstedt family burial chapel, added to the church's east end in the late 1740s, was converted into a burial chapel for the parish in 1926 and reopened in 2021 for wider use, now containing family memorabilia from Gäddeholm alongside older church fittings.