Morris returned figures of 4 for 35 as the Cobras were bowled out for just 117 in their second innings to lose the match by a convincing 213 runs.
The fast bowler finished with five wickets in the match, giving him 12 in two four-day games this season to confirm a welcome return to form after injury kept him out of action for the second part of the 2013/14 campaign.
The Lions went into the final day on 166 for seven in their second innings and added some quick runs as Morris extended his overnight score of 23 to 44 and Pumelela Matshikwe weighed in with 25 from just 34 balls.
That carried the visitors to a total of 223 for nine declared to set the Cobras 331 to win with over two sessions to play.
Sealed victory
Left-arm spinner George Linde had taken four Lions wickets on the third evening and he completed his five-wicket haul before the declaration when he dismissed Kagiso Rabada to finish with 5 for 84.
The declaration left 10 overs before the lunch interval and the Lions made full use of them in reducing the Cobras to 27 for four as Morris struck twice and Rabada and Dwaine Pretorius grabbed a wicket apiece.
Rabada (2 for 27) went on to pick up the wicket of Dane Vilas (25) after the break, while Morris dismissed Justin Ontong and George Linde, who top-scored with 51.
Eddie Leie (2 for 25) cleaned up the tail as the Lions sealed victory in time for tea, clinching 17.3 points from the game as the Cobras took just 5.1.
That put the Lions ahead of the Titans, who also won on Sunday, by 1.44 points at the top of the table.
The scoreboard: (Supplied by Sapa)
Toss: Highveld Lions
Highveld Lions first innings 413
Cape Cobras first innings 306
Highveld Lions second innings (o/n 166/7)
SC Cook lbw b Hendricks 26
HE van der Dussen c Vilas b Shezi 33
DA Hendricks c Ramela b Linde 0
ND McKenzie c Ramela b Ontong 44
DP Conway b Linde 11
TL Tsolekile st Vilas b Linde 9
D Pretorius lbw b Linde 16
CH Morris c Ontong b Hendricks 44
K Rabada c Shezi b Linde 2
P Matshikwe not out 25
E Leie not out 8
Extras: (b1, lb3, nb1) 5
Total (for nine wickets declared) 223 -- 77 overs
Fall of wickets: 1-48 (van der Dussen), 2-49 (Hendricks), 3-63 (Cook), 4- 98 (Conway), 5-122 (Tsolekile), 6-130 (McKenzie), 7-166 (Pretorius), 8-174 (Rabada), 9-197 (Morris)
Bowling: Paterson 20-5-56-0 (1nb), Hendricks 14-4-46-2, Shezi 8-1-20-1, Linde 29-5-84-5, Ontong 6-1-13-1
Cape Cobras second innings
RE Levi c Conway b Rabada 8
AG Puttick c Conway b Morris 3
OA Ramela c Conway b Pretorius 15
MY Vallie b Morris 1
JL Ontong c Tsolekile b Morris 6
DJ Vilas c Morris b Rabada 25
GF Linde c McKenzie b Morris 51
BE Hendricks c Tsolekile b Matshikwe 4
M Shezi lbw b Leie 2
RK Kleinveldt c Rabada b Leie 0
D Paterson not out 0
Extras: (lb2) 2
Total: (all out) 117 -- 38.2 overs
Fall of wickets: 1-9 (Levi), 2-11 (Puttick), 3-13 (Vallie), 4-23 (Ontong), 5-54 (Vilas), 6-74 (Ramela), 7-110 (Hendricks), 8-113 (Shezi), 9-117 (Kleinveldt), 10-117 (Linde)
Bowling: Morris 10.2-3-35-4, Rabada 10-2-27-2, Pretorius 5-1-13-1, Leie 9-4-25-2, Matshikwe 4-0-15-1
Result: Highveld Lions won by 213 runs
Points: Highveld Lions 17.3, Cape Cobras 5.1
Player of the match: ND McKenzie (Highveld Lions).