The church began as a small Romanesque building around 1200, of which the tower and parts of the north and west walls of the nave survive. Around 1300 it was extended eastwards and remodelled into a hall church, with the sacristy added on the north side. A porch was built on the south side in the later 1400s, and the church was widened southwards around 1614, giving it roughly its present breadth.
The building's current appearance owes most to extensive mid-18th-century work. Between 1745 and 1766 the tower was raised and given brick blind arcading along with its onion-shaped cupola and lantern, while a major rebuilding in 1765–66 saw the porch wall and the pillars between chancel and aisle demolished, with three brick vaults raised over the nave to create the unified interior seen today. A further restoration in 1911–12, overseen by the architect Gustaf Pettersson, required rebuilding the chancel's east gable and vault to shore up the foundations, since the church partly rests on clay subsoil that has caused repeated settlement problems over the centuries.
The pulpit, dating from 1754, is considered the church's most distinctive object: its carved figures are medieval, salvaged from two older altar cabinets, one of which was reportedly bought from Ängsö church. The altarpiece, a painting by Anders Eklund depicting the Crucifixion with Mary and John, was given to the church in 1767 and is flanked by two carved wooden figures attributed to Caspar Schröder. The font's basin is thought to date from around 1200, making it among the oldest items in the church, though its exact date cannot be confirmed with certainty.
Two stained-glass windows in the chancel, added in 1927 and made by Eigil Schwab, depict the Adoration of the Magi and the disciples at Emmaus. Outside the tower's west doors stands the runestone known as U 785. The church's weathervane cockerel gave its name to Jan Fridegård's novel Torntuppen, a local literary association that visitors travelling the old E18 may find of interest.