The 30-year-old played superbly to hammer a boundary-laden 130 from 155 balls, as Northants enjoyed a brilliant first day, closing on 420 for six in their 96 overs.
Josh Cobb hit 88 from 103 balls and Emilio Gay 70 from 79 as the County rattled along throughout, while Lewis McManus will begin day two unbeaten on 57.
And all this after the early dismissals of skipper Ricardo Vasconcelos and overseas signing Ryan Rickelton had left John Sadler's side on 25 for two against the reigning county champions.
Keogh's ton was his second of the season, but his first since the opening match of the season against Gloucestershire, and he was happy to at last make the most of one of many decent starts he has made this campaign.
“I’ve been a little bit disappointed the last few games to get into the 40s from a few good starts and then get out quite softly," said Keogh, who is now the County's leading run-scorer this season on 511 at an average of 51.1.
"So to go on and get a second hundred, get that confidence back and get the runs flowing again is always nice.
“Everyone is a confidence player. I think they are lying if they tell you they are not.
"Cricket is a game of confidence so I tried to go out there with a positive mind-set and play strong cricket shots and it came off today."
Northants benefitted from a positive and aggressive outlook, with Keogh and Cobb taking things away from Warwickshire after lunch with a superb 161 partnership from a little more than 30 overs, lifting their side from a precarious 139 for four.
“Losing Emilio (Gay) and then Luke (Proctor) straight after lunch it could have been tricky, but Cobby (Josh Cobb ) came out and played brilliantly," said Keogh, who has now scored 13 first-class centuries in his career.
"We were going along at five or six and over without really playing any reckless cricket.
"I think it is a great start for the first day.
"I’d like to see us get to 500-plus and get some pressure on them. It is starting to dry out so spin might come into it at the back end of the game and I think there is still a little bit in it if the ball is in the right area.”
Play is scheduled to start at 11am on Monday at the County Ground.