Johnson, who has a school record 35 TD passes this season, completed 31 of 35 including his first 11 and also ran for 102 yards on 11 carries for the Toreros (8-1, 5-1 Pioneer Football League).
Davidson came back from a 21-point deficit to pull within three 45-42 when quarterback Ryan Alexander, who threw for 404 yards and six touchdowns, connected with Beaux Jones on a 14-yard touchdown pass with 3:53 left in the game.
After a failed onside kick, Johnson hooked up with Matthews for the fourth time from 16 yards out to make it 52-42 with 2:25 left.
The Wildcats (5-4, 3-3), came right back when Alexander tossed a three-yard pass to Justin Williams with a minute left, but Davidson's subsequent onside kick went out of bounds and San Diego ran out the clock.
The two teams combined for 996 yards in total offense and 11 touchdown passes.
Matthews had 11 receptions for 190 yards and four touchdowns, including three TDs in the first half to give San Diego a 28-21 halftime lead.
Davidson's Alexander finished the day 35-for-52 for 404 yards and Ryan Hubbard had 11 receptions for 158 yards and two TDs.
Justin Williams and Jones also had two touchdown catches each for the Wildcats.