Forrest was born in Philadelphia, Pennsylvania. During the American Revolutionary War was commissioned a captain in Col. Thomas Proctor’s Pennsylvania Artillery October 5, 1776, promoted to major March 3, 1777, and lieutenant colonel December 2, 1778. He resigned October 7, 1781.
Forrest was elected as a Federalist to the Sixteenth Congress. He served as chairman of the Committee on Agriculture during the Sixteenth Congress.
He was again elected as a Federalist to the Seventeenth Congress to fill the vacancy caused by the resignation of William Milnor. He was an unsuccessful candidate for reelection in 1822.