Arda Turan put the Turks ahead in the 13th when he headed in a cross by Hamit Altintop from the right flank.
Luiz Suarez leveled for Uruguay from the penalty spot in the 31st.
Nihat Kahveci put Turkey 2-1 up with a curling free kick in the 51st, but Suarez scored again in the 79th again.
Turkey midfielder Yildiray Basturk shot over the crossbar in the 22nd, while Maximilano Pereira almost scored for Uruguay with a powerful shot from just outside the area in the 58th.
Turkey will play its last friendly against Finland on May 29 before heading to Switzerland for the June 7-29 Euro 2008.