Tim Howard played the first half in his 99th international appearance, and with his 54th win surpassed Kasey Keller to set the American record for wins by a goalkeeper.
The U.S. went ahead when Johnson made a run and laid the ball off to Bradley. As Johnson continued his run, Bradley chipped the ball over the defense to Johnson, who slotted in with a left-footed volley from 6 yards in the 26th minute. Johnson, playing a right back, had not scored in 20 previous international appearances.
Dempsey, a star for the Seattle Sounders, doubled the lead in the 52nd with his 37th goal from the national team. Michael Bradley brought the ball up the middle and passed to Brad Davis, who laid it off for Timmy Chandler on the flank. Starting his first game for the U.S. since February 2013, Chandler sent a cross that defender Hakan Balta, mis-hit in his clearance attempt. The ball went into the path of Dempsey, who poked it in from just in front.
Turkey got its goal on a 90th-minute penalty kick by Slecuk Inan that beat goalkeeper Brad Guzan after a handball call on Geoff Cameron. The play developed when a Turkish attacker got past Chandler.
Jozy Altidore remained scoreless in six international matches since October. He put the ball into the goal in the 15th minute after goalkeeper Onur Kivrak saved Matt Besler's header off a corner kick, but Tunisian referee Slim Jedidi called a foul on Altidore, apparently for a push. Altidore was saved on a breakway in the 71st, but Jedidi whistled off the play for a foul on Balta, and then broke in with a nice move in the 81st only for Kivrak to block his shot.
Julian Green, the 18-year-old surprise pick for the U.S. roster, entered in the 64th for his second international appearance. He had a great chance two minutes later following a cross by Graham Zusi but wasted it with a heavy touch.
Dempsey also scored the decisive goal against Turkey in a 2-1 win four years ago in the last game for the Americans before they headed to South Africa. The Crescent Stars, ranked 39th, finished fourth in their qualifying group and sent a young team as they prepare for the start of 2016 European Championship qualifying.
U.S. coach Jurgen Klinsmann made three changes to his starting lineup, changing his left side by inserting Chandler in place of DaMarcus Beasley and Brad Davis in midfield for Alejandro Bedoya
Dempsey started at forward in place of Chris Wondolowski. The U.S. captain had been in the original lineup for Tuesday's 2-0 win over Azerbaijan in San Francisco but was scratched during warmups because of a sore groin.
The U.S. used a 4-4-2 formation with a diamond midfield. Jermaine Jones, who sat deep, was down for a few minutes after taking Gokhan Gonul's hard shot off his chest in the 36th.
Preparing for their seventh straight World Cup appearance, the Americans complete their pre-tournament exhibitions on Saturday against Nigeria in Jacksonville, Florida, and are to arrive at their training base in Sao Paulo on June 9. They scrimmage Belgium on June 12, then play Ghana in their World Cup opener four days later.
At the World Cup, the Americans also meet Portugal on June 22 and Germany four days later in one of the tougher first-round groups.