Lannan (2-3) had four strikeouts in his longest outing in four years. The lefty registered 12 groundouts to beat the team he played for his first six seasons in the majors.
Jonathan Papelbon allowed two runs in a shaky ninth to earn his 19th save in 23 tries.
Dan Haren (4-10) came off the disabled list and took the loss after missing two weeks because of right shoulder inflammation. Haren allowed two runs and seven hits in five innings, striking out a season-high seven.
Revere and Jimmy Rollins, the 1-2 hitters in Philadelphia's lineup were 5 for 9 with three runs and one RBI.
ATHLETICS 2, PIRATES 1
PITTSBURGH -- Bartolo Colon allowed one run over seven innings and the Athletics won for the ninth time in their past 12 games, beating the Pirates.
The 40-year-old Colon (12-3) shook off a tough-luck 3-1 defeat in his previous start to win for the ninth time in his last 10 outings. He outdueled Jeff Locke, who had a personal eight-game winning streak snapped. Locke (8-2) lost for the first time since his first start of the season April 10.
Colon moved into a tie for second in the majors in victories, and has the second-most wins by a 40-year-old in A's history. He allowed seven hits and one walk with five strikeouts.
Copyright 2013 by The Associated Press
This story is from ESPN.com's automated news wire. Wire index
MORE MLB HEADLINES
- Sources: Rangers to sign Choo for $130M
- O's not signing Balfour, cite physical results
- Alleged kidnapping of Rangers' Martin detailed
- Youkilis will play 'one more year' -- in Japan