The Champions League club, seen as possible title contenders, also lost their season opener to VfL Wolfsburg last week.
Yet the Royal Blues could have gone ahead in the 14th minute had Daniel Caligiuri not fired his penalty wide.
Hertha, who have won both their matches, scored a minute later with 23-year-old Duda's powerful shot to complete a fine break, and they went close again through Salomon Kalou.
Domenico Tedesco's side lacked ideas and did not have a single chance until the final minutes when Hertha keeper Rune Jarstein twice came to the rescue.
They were left with 10 men when Yevhen Konoplyanka was sent off with a red card for a last-man foul in stoppage time and Slovak Duda curled in the resulting free kick to seal the win with their second clean sheet.
The result left Schalke fans unhappy and Tedesco under pressure ahead of a break in the Bundesliga for international matches.
RB Leipzig, who lost their season opener last week, will also have to wait longer for their first win of the season after drawing 1-1 against promoted Fortuna Dusseldorf earlier on Sunday.
Champions Bayern Munich made it two wins out of two with a 3-0 victory at VfB Stuttgart on Saturday. Wolfsburg beat Bayer Leverkusen 3-1 to join them and Hertha on six points.
This article was written by cool news network.