Ursprungskyrkan är bevarad med västtorn, litet långhus, kvadratiskt kor och halvrund absid. Tidigt fanns ett torn också över koret. Det tornet togs ner 1758. Man tror att sakristia och vapen hus tillkom under senare delen av medeltiden.
Vid ett blixtnedslag den 21 juli 1764 härjades kyrkan av en förödande brand. Endast de svärtade murarna återstod. Det enda som synes ha räddats var ett par ljuskronor. En av dessa, en graciös malmkrona troligen från 1500-talet, skänktes till kyrkan 1706 av Christina Gynterfeldt på Löfsta. Den hänger idag längst fram i kyrkan.
De nuvarande valven liksom "nykyrkan" - norra korsarmen - tillkom under kyrkans återuppbyggnad. Fönstren gjordes då också större.
Kyrkans inredning fullbordades i etapper under 1700-talets senare del. Delar av inredningen kom från Kärnbo gamla kyrka som förfallit. Bland annat fick man överta altarskåpet, tillverkat i Antwerpen omkring år 1500. Altaret byggdes 1779.
Kyrkan fick sin första orgel 1849 med verk av den berömde orgelbyggaren Gustaf Andersson.
Utanför kyrkan ses en runsten i Enhörnasandsten med ristning från 1000-talet.
Den lilla röda byggnaden på andra sidan Enhörnavägen, snett emot kyrkan, är den gamla tiondeboden.
Under 2018 har kyrkan genomgått en inre renovering.
Återinvigningen 1:a advent 2018 av biskop Johan Dalman blev en högtidlig fest med över 200 besökare.
Se bilder från renoveringen och återinvigningsmässan här nedan.