The 29-year-old has enjoyed a strong season for the County across all formats, especially with the bat, and will now prolong his stay at Wantage Road until at least the end of 2023.
Keogh, who hails from Dunstable in Bedfordshire, joined the Northants Academy as a teenager and made his first team debut in 2012.
His breakthrough innings came the following summer when he hit 221 against Hampshire, and he has gone on to score 10 further first-class centuries for the club, including two this summer.
Keogh has also been a key member of the Steelbacks' white ball team in both 20-over and 50-over cricket, with his off-spin and excellent fielding making him an indispensable fixture in the limited overs formats.
He was part of the Steelbacks team that won the T20 Blast in 2016, hitting the winning runs in the final win over Durham.
In total, Keogh has scored 4,924 first-class runs at an average of 30.45 for the County, hitting 11 centuries and 13 fifties.
He has also taken 94 wickets at 44.89, with a career-best haul of nine for 52.
In T20 cricket Keogh has scored just shy of 1,000 runs for the Steelbacks, averaging 27.9 and scoring at a strike-rate of 118, while in 50-over matches he has totalled 1,432 runs at 32.54, with a top score of 134.
With the white ball in hand, Keogh has claimed 27 wickets in both limited overs formats, with an economy rate of 5.42 in List A matches and 8.28 in the Blast.