DENVER (AP) One veteran running back shook off the rust, the other failed to shake up his roster Thursday night when the Arizona Cardinals beat the Denver Broncos 22-20.

Brandon McManus missed a 51-yard field goal in the final minute as the Broncos (3-1) failed to complete a perfect preseason.

Playing in a final preseason game for the first time since 2009, Cardinals running back Chris Johnson ran 11 times for 45 yards in his first action of the summer after recovering from a hamstring injury.

More from FoxSports

Johnson started out slowly, but reeled off a 16-yard run from the Arizona 20, sparking a 15-play, 80-yard drive that ended with Paul Lasike's 4-yard TD catch from rookie Phillip Sims.

Sims also warmed up after a sputtering start and began finding his targets - save for a pass to a wide-open pylon just before halftime that helped stall another 15-play drive, this one capped by Chandler Catanzaro's field goal.

Catanzaro, however, missed two PATs, the second coming after Logan Thomas' 59-yard TD toss to J.J. Nelson that put Arizona (2-2) ahead 22-20 early in the fourth quarter.

Those misses loomed large until McManus pushed his field goal try wide with 49 seconds remaining.

Broncos running back Montee Ball ran 16 times for just 27 yards - the same total Kapri Bibbs managed in only six rushes. Ball, a third-year back from Wisconsin, slid down the depth chart this summer and was trying to convince coach Gary Kubiak he should keep four running backs.

On his first snap, Brock Osweiler faked a handoff to Ball, rolled left and threw a 78-yard touchdown strike to a wide-open Bubba Caldwell. It was a classic Kubiak play the Broncos haven't run in the preseason with Peyton Manning under center.

Manning watched from the sideline and, unlike his teammates who wore baseball caps, he had his helmet on so he could listen in on the play calls.

Osweiler, in what's expected to be his last significant action of the season providing Manning stays upright, didn't do much after his long TD toss, completing just six more passes for 30 yards.

Kubiak said this week that the Broncos ''could be a five-, six-, seven-receiver football team depending on how things play out here over the weekend,'' and he wanted to get a good look at receiver Corbin Louks returning punts.

Louks had four fair catches and dropped a 17-yard potential touchdown pass two plays before Trevor Siemian found Bennie Fowler for the score.

Arizona tight end Gerald Christian (left knee) was helped off the field in the first half and didn't return. Neither did cornerback Jimmy Legree, who recovered a fumble in the first quarter but got hurt in the second.

---

AP NFL website: www.pro32.ap.org and www.twitter.com/AP-NFL