The church was built in the second half of the 12th century, in an area already rich in rune stones, three of which stand near the car park today. Its earliest form had a chancel, nave and possibly a tower, though sources disagree on whether a tower was ever completed or later collapsed; a 1579 record mentions a tower having fallen, but it is unclear whether this refers to an unfinished structure or one built earlier. The chancel was enlarged within roughly a century of the church's construction, giving it an unusually long, narrow appearance, and a sacristy was added around the 13th century.
Around the start of the 15th century, the so-called Union Master painted the vaulted ceiling, of which only a small fragment survives in the north-east corner of the nave. When the church was vaulted at the end of that century, the builders apparently altered the vaulting at this point specifically to preserve the existing painting. The nave's crossed vaults are said to resemble those of Vadstena abbey church.
The carved altarpiece, probably made in Lübeck in the early 16th century, depicts the Coronation of the Virgin flanked by saints and the twelve apostles; it was moved to the Lindhielm burial chapel in 1856 before being returned to the altar after a 1925 restoration. The pulpit, carved in 1682 by Anders Larsson of Björkvik, shows the four evangelists. The church also holds two medieval wooden Madonna sculptures, one dated to around 1250 and badly damaged, along with a medieval stone font from the 13th century and later fittings.
A particularly distinctive feature is the church's collection of painted portraits of local clergy and their wives, said to be unusually extensive compared with other Swedish churches. Among them is a portrait of Gertrud Malmenia, remembered as especially devout and well-loved, who according to tradition was allowed to choose her late husband's successor as both vicar and, apparently, husband.
The Lindhielm burial chapel on the south side of the chancel was built for provincial governor Mårten Lindhielm, who died in 1720, and was later used by the Fleetwood family, owners of nearby Lindö estate. The chapel contains a number of coffins and later features including portraits of Swedish monarchs. The church's large bell dates from the early 16th century and bears a Latin inscription associating it with Saint Olof, the popular medieval Norwegian royal saint; a smaller bell was cast in 1639. The building underwent significant alterations in 1759–62, including new entrances still in use, and the current organ was built in 1954 by Olof Hammarberg, incorporating a 19th-century case.