Workers in the RMT union have forced concessions from First Great Western train bosses. They are to end zero hours contracts and pay a living wage to agency and contract staff working in catering and cleaning.
This comes after workers voted by almost 60 percent to strike and over 70 percent for action short of a strike.
For the first time the RMT balloted all grades on First Great Western. The dispute ended after a resolution was also reached over disciplinary procedures.
The new wage rates are to be set as outsourced contracts are renewed or expire over the next year.
On board catering workers are to be brought back in-house. RMT said it is still fighting for all agency and contract workers to be brought in-house.