Muller had qualified on pole position for the second consecutive race this weekend, and made a clean start to lead the field into Turn 1 ahead of title rivals Frijns and Rene Rast.
Rast challenged Frijns for second on the opening laps but his pace slowly began to fade away, allowing the leading duo to pull clear of the rest of the field.
Muller appeared to have the edge over his Abt Audi teammate and even when Frijns was able to bring the gap down to one second, he was able to respond immediately to extend his advantage back up to 1.4s.
Muller and Rast were the first of the leaders to stop on lap 11 of 31, with Frijns heading to the pits one lap later to cover them off.
This gave Muller an extended advantage of three seconds over Frijns once the pitstops were settled, but the race leader's pace inexplicably dropped in the second stint, allowing Frijns back into contention.
Frijns cut down the deficit to half on lap 16 and closed sufficiently to make a move on the following lap. Going into the final turn, Frijns dived down the inside of Muller, with the championship leader putting up no fight and letting his Abt teammate through to take the lead.
Once out in front, Frijns was able to build a two-second lead in a single lap, and from there on he enjoyed an unchallenged run to claim his second victory in as many weekends.
Muller meanwhile fell into the clutches of Rast in the closing laps, and the reigning champion pulled out of his slipstream to snatch second position going into Turn 1 on lap 25.
Having lost second to Rast, Muller dropped further places in the closing laps of the race, elevating 2013 champion Mike Rockenfeller onto a podium position for the first time in 2020.
Fellow Audi driver Loic Duval also got through to finish fourth, with Muller eventually crossing the line in fifth in what was his joint-worst result of the season for the championship leader.
Assen Race 2 winner Sheldon van der Linde was BMW's top finisher in sixth, as Audi continued its dominance of the 2020 season to lock out the top five spots.
Veteran Audi DTM driver Jamie Green finished seventh ahead of BMW's Jonathan Aberdein after the two drivers ran wide after making contact at the final chicane.
Two-time DTM champion Marco Wittmann dropped to 13th on the opening lap, but recovered enough to bag two championship points in ninth, as his BMW stablemate Philipp Eng rounded out the top 10.
Lucas Auer was the first driver to make his pitstop on lap 5, but was unable to take advantage of his aggressive strategy and finished outside the points in 11th.
Formula 1 convert Robert Kubica, likewise, couldn't convert a best starting position of the season - a ninth-place - into a points finish, taking the chequered flag in 12th.
DTM Nurburgring - Race 2 results:
|1||4|| Robin Frijns ||Audi RS5 Turbo DTM 2020||58'16.157|
|2||33|| René Rast ||Audi RS5 Turbo DTM 2020||58'20.438||4.281|
|3||99|| Mike Rockenfeller ||Audi RS5 Turbo DTM 2020||58'26.415||10.258|
|4||28|| Loic Duval ||Audi RS5 Turbo DTM 2020||58'28.730||12.573|
|5||51|| Nico Müller ||Audi RS5 Turbo DTM 2020||58'29.253||13.096|
|6||31|| Sheldon Van Der Linde ||BMW M4 Turbo DTM 2020||58'29.644||13.487|
|7||53|| Jamie Green ||Audi RS5 Turbo DTM 2020||58'32.898||16.741|
|8||27|| Jonathan Aberdein ||BMW M4 Turbo DTM 2020||58'33.854||17.697|
|9||11|| Marco Wittmann ||BMW M4 Turbo DTM 2020||58'35.777||19.620|
|10||25|| Philipp Eng ||BMW M4 Turbo DTM 2020||58'45.066||28.909|
|11||22|| Lucas Auer ||BMW M4 Turbo DTM 2020||58'46.059||29.902|
|12||8|| Robert Kubica ||BMW M4 Turbo DTM 2020||58'48.127||31.970|
|13||10|| Harrison Newey ||Audi RS5 Turbo DTM 2020||58'51.056||34.899|
|14||16|| Timo Glock ||BMW M4 Turbo DTM 2020||58'59.994||43.837|
|15||62|| Ferdinand Habsburg ||Audi RS5 Turbo DTM 2020||59'12.551||56.394|
|16||13|| Fabio Scherer ||Audi RS5 Turbo DTM 2020||50'49.879||5 Laps|
|View full results|