The church was built largely during the later twelfth century in the Romanesque style, with an apse, a narrower chancel and part of the nave among its oldest surviving sections. Its walls, constructed of grey fieldstone, once stood roofed and plastered white, according to an account by the antiquarian Peringskiöld, who visited the site in 1684. Around 1500 the nave was extended westward and a porch added, while the chancel arch is thought to have been widened at around the same time.
A runestone from the Viking Age, catalogued as Sö 177, is built into the wall near the entrance. It was probably raised nearby before being incorporated into the church when it was built, and its inscription commemorates a young man, son of Gudbjörn, raised by a woman named Ragna. Traces of a low wall that once enclosed the churchyard can still be made out, particularly to the west.
For a time in the sixteenth century the church held the grave of Sten Sture the Elder, regent of Sweden, whose coffin was moved here after the dissolution of nearby Mariefred Priory, before being transferred again to Strängnäs Cathedral in 1576. An altarpiece made around 1500 in Antwerp is also associated with the church; sources agree it eventually passed to Ytterenhörna church, though accounts differ on whether this happened following a fire there in 1782 or earlier, when the church's fittings were dispersed due to disrepair. A damaged triumphal crucifix from Kärnbo is now kept in Mariefred church, and the pulpit is said to have been given by King Gustav II Adolf to the neighbouring parish of Åker in 1629.
When Mariefred gained town status in the early seventeenth century, a new church was built within the town, completed in 1624, and Kärnbo church was gradually abandoned. It saw a brief revival as the main place of worship after a fire damaged Mariefred's town church in 1682, but decline resumed once repairs there were finished. By the late eighteenth century the roof was failing and the remaining fittings were sold off. During the nineteenth century the site was neglected and even used for grazing pigs, earning it the local nickname 'the pig church'. A conservation effort in the 1920s stabilised the ruin in its present form, and proposals to re-roof and glaze it were later considered but not carried out.
Today the ruin is occasionally used for services, baptisms and weddings during the summer months, though visitors should not assume regular or guaranteed access.