Richard Leonard demanded the Scottish Government work with ScotRail bosses to prevent planned price hikes from kicking in on 2 January.
The Scottish Labour leader insisted this was “the right thing to do” in the wake of “worsening” performance by the rail operator.
He made the plea ahead of Mr Mackay unveiling his Budget for 2019-20 to Holyrood on Wednesday. It was recently announced ticket prices in Scotland are to rise by an average of 2.8 per cent – below the average UK rise of 3.1 per cent. However, the cost of peak-time season tickets and any-time day tickets is to go up by 3.2 per cent.
Mr Leonard said: “I don’t want to hear excuses, I’m fed up with it, and the passengers who use the services are fed up as well.”
Speaking to the Scottish Parliamentary Journalists’ Association in Edinburgh, he said: “We are calling for a ScotRail rail fares freeze from January.
“Passengers are being ripped off whilst the service is worsening, and instead of dealing with it the SNP voted with the Tories to keep the franchise going and it has granted ScotRail a licence to fail by moving the goalposts on performance.
“The Scottish Government has the power and Abellio has the money. It is the right thing to do and they should get on and do it.”
A Transport Scotland spokesman said: “While any fare increase is unwelcome, calls for a fares freeze underestimate the impact of these on the public purse.”
The spokesman added: “In Scotland, two-thirds of the cost of running the railway is already met through government subsidy, with the remainder through rail passenger revenues. Any change to rail fares could therefore have a significant impact on the taxpayer.”