Gov. Ed Rendell, flanked by union and Southeastern Pennsylvania Transportation Authority officials, announced the agreement that would put buses, subways and trolleys back in operation after negotiators finished an all-night bargaining session.
"We have an agreement, and it is a good agreement," he said.
The deal must still be ratified by both sides, but officials said workers should be back on the job for the afternoon rush hour.
"This works for all parties," said Jeff Brooks, president of Transport Workers Union Local 234. He said he believed the union's membership would sign off on the agreement.
The strike, the first by unionized transit workers since 1998, began Oct. 31 involved about 5,300 union members and began Oct. 31. It has inconvenienced about 400,000 daily riders, including 27,000 public school students who receive free or subsidized transit tokens.
Rendell said the union agreed to have each worker pay 1 percent of his salary for health care after years of most of its workers not having to pay a premium. The union received what Rendell called "a significant increase" in pensions.
The transit administration earlier had asked that employees pay 5 percent of their health insurance premiums.
Union spokesman Bob Bedard said the contract includes salary increases of 3 percent for each year of the four years. He said the union also got some work rule changes it had sought.
"It's great to be back," said transit administration board chairman Pasquale "Pat" Deon.