However, neither Liverpool nor Gerrard, 31, said how long the contract was for.
The England midfielder, who made his debut for Liverpool as an 18-year-old in November 1998, has played 566 matches for the club and scored 144 goals including the penalty in Wednesday night's 1-0 win over Manchester City in the first leg of their League Cup semi-final.
He has also played 89 times for England, scoring 19 goals.
"I'm very happy. It's a very proud day for myself and my family," he told the club's website.
"It comes on the back of a fantastic team performance last night when we got the result we were looking for.
"The contract extension coming the day after has been the icing on the cake so it has been a perfect 24 hours."
Gerrard is a one-club man who led Liverpool to their dramatic Champions League final victory over AC Milan in 2005.
He has also won the FA Cup twice, the League Cup twice and the UEFA Cup, but has made no secret at his regret Liverpool have not won the Premier League title during his playing career.
Get the best features, fun and footballing frolics straight to your inbox every week.
Thank you for signing up to Four Four Two. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.