Kungsholmen er en ø i Mälaren i det sydlige Uppland i Sverige. Kungsholmen ligger i den indre by i Stockholm, nord for Riddarfjärden. Øen er opdelt i fem bydele: Kungsholmen, Marieberg, Fredhäll, Kristineberg og Stadshagen. Øen udgør hoveddelen af bydelsområdet Kungsholmen, som dog også omfatter Essingeöarna.
Øen er omgivet af vandene Riddarfjärden, Mariebergsfjärden, Essingefjärden, Tranebergssund, Ulvsundasjön, Karlbergskanalen, Karlbergssjön, Barnhusviken og Klara Sjö. Syd for Kungsholmen ligger öerne Södermalm, Långholmen, og Lilla Essingen. Fastlandet ligger mod vest (Brommalandet), nord (Solna) og øst (Norrmalm).
Den østlige del af øen er ret plan, mens den vestlige dl er mere kuperet. Det højeste punkt er det 47 meter høje Stadshagsplan. Øen har et areal på 391 hektar og en kystlinje på 8 900 meter.