The result lifted Leicester up to ninth in the standings with 14 points, while Brentford dropped to 12th on 12 points from nine games.
Brentford were kept at bay by a combination of poor finishing and a string of saves by Leicester goalkeeper Kasper Schmeichel before being caught out on the counter-attack for Maddison's 73rd-minute winner.
Defender Mathias Jorgensen flicked a header past Schmeichel at the hour mark to cancel out Tielemans' unstoppable first-half strike from 25 yards, but Maddison restored Leicester's advantage by tapping the ball into an empty net.
"We hammered a team in the first half that finished in the top five last season. They didn't have anything apart from a moment of luck or quality," Brentford manager Thomas Frank said after the game.
"Tielemans is very good, but he's not even scoring that 10 out of 100 times... We deserved to win."
The visitors took the lead against the run of play in the 14th minute after Rico Henry could only partially clear Maddison's free kick, with the ball falling to Tielemans who unleashed a stunning effort that flew past goalkeeper David Raya.
Ivan Toney was caught offside early in the opening period and saw his goal-bound header tipped over by Schmeichel later in the half, but Brentford deservedly equalised after the break.
The hosts pressed for a winner but Tielemans sliced the Brentford backline apart to put substitute Patson Daka, who had replaced Jamie Vardy, through on goal but the forward unselfishly teed up Maddison to claim his first goal since February.
"(Vardy) wanted to give it a go but I felt watching that he wasn't quite the same. That little bit of explosiveness wasn't quite there, but hopefully he'll be okay," Leicester manager Rodgers said.
"Maddison is well on his way back. He needed a bit of time to reset, we’ve looked at his game and it reinforced what a top player he is. Working hard, simplifying everything, he's now starting to create and score goals."