W rządzie Tadeusza Mazowieckiego objął stanowisko ministra współpracy gospodarczej z zagranicą. Podpisał pierwszą umowę gospodarczą o współpracy ze Wspólnotą Europejską. Negocjował (zakończone powodzeniem) umorzenie polskich długów wobec Związku Radzieckiego o wartości 9,2 miliarda dolarów amerykańskich. W 1991 wstąpił do Unii Demokratycznej. Po raz drugi został posłem w 1993 z ramienia tej partii z okręgu olsztyńskiego, zrezygnował z mandatu w maju 1996. Zaproponował przyjęty w Konstytucji zapis ograniczający zadłużenie publiczne do 60% PKB.
W latach 1994–1999 zajmował stanowisko prezydenta m.st. Warszawy, pozostając w ramach koalicji samorządowej Sojusz Lewicy Demokratycznej-Unia Wolności i Samorządności. Był przewodniczącym zarządu Unii Metropolii Polskich, członkiem zarządu Związku Miast Polskich i współprzewodniczącym Komisji Wspólnej Rządu i Samorządu Lokalnego. Za jego kadencji rozpoczęto budowę Mostu Świętokrzyskiego i przygotowano budowę Mostu Siekierkowskiego, zmodernizowano ulicę Nowy Świat, rozpoczęto budowę spalarni na Targówku, wybudowano 9 basenów, otwarto pierwszy odcinek pierwszej linii metra, wytyczono 700 km tras rowerowych, oddano do użytku nowy budynek Biblioteki Uniwersyteckiej i gmach Sądu Najwyższego, a także przyśpieszono zwrot nieruchomości przejętych przez państwo po II wojnie światowej.