The original stone church, built according to the Vallentuna calendar in the 1190s, consisted of a nave, chancel and tower. Over the following centuries it grew: a sacristy was added in the 1200s, and by the mid-1400s the chancel had been extended eastwards with a new porch added to the south. Brick vaults were built throughout the interior and decorated with paintings, later whitewashed in 1763.
A devastating lightning strike in 1856 destroyed the tower spire and much of the interior. Rather than restoring the medieval appearance, the rebuilding introduced a new chancel matching the width of the nave, replaced the brick vaults with segmental and barrel vaults, and removed the old porch. The medieval sacristy became an open transept and a new transept was added on the south side. A further restoration in 1935–1938, led by architect Evert Milles, rebuilt the copper-clad dome and spire of the hexagonal Klingspor burial chapel attached to the chancel, first built in 1680, and created a christening chapel in the south transept.
Among the furnishings, the altar cross originates from an altarpiece made in the 1760s by the sculptor Dahlström of Norrtälje. The pulpit dates from the late 1850s. A fragment of a grey-blue limestone font from around 1300 survives alongside later fonts of wood and cast stone. The brass chandelier in the chancel dates from the late 1500s, and medieval communion vessels and an incense burner are also preserved. An embroidered cope attributed to the medieval painter Albertus Pictor is now kept at the Historical Museum rather than in the church itself.
The church and churchyard contain seven runic inscriptions, a notable concentration for a Swedish parish church. Among them is U 212, a Viking Age stone associated with the well-known Jarlabanke runestones, and U 214, discovered built into the church floor during the 1937 rebuilding, which bears one of the oldest known rhyming verses in Swedish runic writing. A further runestone was uncovered during excavation work near the church in 2009.
West of the church stands a mid-20th-century concrete burial chapel designed by Evert Milles, and a long boundary wall was built in 1816. The church has had several organs over the centuries, with the current mechanical instrument built in 1959, retaining an organ case from 1859.