Rosenborg-backen Mikal Lustig, som ble fulgt av storlaget Milan fra tribuneplass, gjorde 1-0 etter en halvtimes spill på Råsunda. Det var hans første landslagsmål.
Den svenske storstjernen Zlatan Ibrahimovic kunne gitt vertene 2-0 til pause, men han misset fra straffemerket to minutter før sidebytte. Kampen ble Zlatans fjerde på rad uten nettkjenning.
Sebastian Larsson fikk også sin scoringsdebut for Sverige. Han satte inn 2-0 etter 82 minutter etter et innkast til Zlatan i «offside». Han slo ballen tilbake i feltet, hvor Larsen satte den sikkert i mål.
Moldova reduserte til 2-1 på overtid ved Alexandr Suvorov, men nærmere poeng var ikke moldoverne.
– Vi gjør ingen bra kamp, men jeg er fornøyd med tre poeng. Etter at vi tar ledelsen 1-0 blir vi altfor nølende, og det blir lite energi i spillet vårt, sa Sveriges landslagssjef Erik Hamrén til svenske TV 4.
Sverige sikter seg inn mot annenplassen i EM-kvalifiseringsgruppe E bak suverene Nederland. Svenskene står med ni poeng etter fire spilte kamper.