SAN FRANCISCO -- Dodgers right-hander Zack Greinke, who is on the 15-day disabled list, is two to three weeks ahead of schedule in his recovery from a broken collarbone after throwing a full bullpen session Saturday at AT&T Park, exactly three weeks after surgery.

Greinke was originally told he would miss eight weeks after undergoing an operation on April 13 to repair the fracture suffered two days earlier in a fracas in San Diego.

"I'm feeling pretty good for the amount of time since the injury," said Greinke.

He threw a 40-pitch bullpen session Thursday without really letting loose, but upped it to a full 60 pitches Saturday, throwing all of his pitches at nearly full speed and saying he could have done more.

He was watched by pitching coach Rick Honeycutt, manager Don Mattingly and medical director Stan Conte, who monitored how hard Greinke was throwing.

Midway through, Mattingly stood in the batter's box and Greinke worked on hitting different locations.

"A little bit," Mattingly said when asked if Greinke's progress was surprising. "We still have boxes to cross off, but he's doing really well. He's along the lines of Hanley [Ramirez's quick recovery from thumb surgery]. It seems like he's ahead of schedule three weeks out, but I don't know how far away he is."

Teammates Chris Capuano, A.J. Ellis and Clayton Kershaw also were interested observers as Greinke showed no discomfort from the injury.

The right-hander was injured when he lowered his shoulder into an onrushing Carlos Quentin, who charged the mound. Quentin had been hit by a Greinke pitch for the third time in his career.

Quentin took a few steps and stopped. At that point Greinke reportedly said, "Save it," and Quentin bull-rushed the pitcher. Quentin was suspended for eight games and later said he spoke with Greinke about the incident, but Greinke had no comment about their conversation.

Ken Gurnick is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.