Haren, 34, is 7-7 with a 3.42 ERA in a Marlins-best 21 starts this season. He has given up 116 hits in 129 innings, ranking 10th in the National League with a 1.09 WHIP, and his strikeout-to-walk ratio (3.52) is his lowest in six years. He will be the fifth Cubs starter with at least 100 innings pitched and an ERA under 4.00.
The Cubs will become his eighth team after previous stints with St. Louis, Oakland,Arizona, the Los Angeles Angels, Washington, theLos Angeles Dodgersand then Miami.
Haren pitched for Miami on Thursday in a 1-0 loss to Washington. He suggested after that game that being linked to plenty of trade rumors was gnawing at him, though he insisted it wasn't affecting him on the mound.
"It's always hard,'' Haren said. "I've dealt with it before. It's tough for a lot of the guys going through it. ... It's been a crazy few days.''
If nothing else, moving to Chicago gets Haren a bit closer to his native Southern California. Even after the Marlins swung a deal with the Dodgers for Haren this past offseason, it seemed less than certain that he would leave the Los Angeles area to play in Miami. He eventually decided to join Miami, but wound up being with the Marlins for basically four months.
The Cubs will also receive cash and are sending minor leaguers Ivan Pineyro and Elliot Soto to the Marlins. Chicago designated pitcher Ben Rowen for assignment to make room on the 40-man roster.
The Chicago Sun-Times first reported the trade.
Cubs catcher Miguel Montero played with Haren when both were with the Diamondbacksfrom 2008 to '10.
"Haren is not what he was," Montero said last month. "Everyone knows that, but the one thing that he has, and I would take it any day, is he has guts. He goes out there and competes."
The Cubs entered Friday two games out of the second NL wild-card spot but gained a game with a 4-1 win over the Brewers and the Angels' 5-3 loss to the Dodgers.
Haren -- who is on pace to make at least 30 starts for the 11th straight year -- has made seven postseason appearances, five as a reliever for St. Louis in 2004 (including two in the World Series loss to the Boston Red Sox) and two as a starter for Oakland in 2006.
"He's a pro," Marlins manager Dan Jennings said. "Dan Haren, in my time in the game, is one of the most professional mentors that I've ever been around. The way he carries himself, the things that he shares with the young players and what he does on that mound every fifth day, he is exactly the definition of a pitcher. He knows how to pitch. ... I tip my hat to what Dan Haren has been able to come here and do. He's showing a lot of people how to be a pro.''
Haren's $10 million salary is being paid by the Dodgers, who traded him to Miami in the offseason. His contract runs out at the end of this season.
Haren is one of two pitchers, along with Mark Buehrle, to start at least 30 games in each of the past 10 seasons. He is 149-129 with a 3.75 ERA in his career.
The Cubs tried to trade for Haren in 2012 in a deal with the Dodgers for Carlos Marmol, but it fell through.
There was some concern about Haren's effectiveness in front of the Cubs' defense this season. He throws to more contact than he used to, but the infield has improved greatly, so Haren should have a better chance to succeed.
The Cubs also acquired right-handed reliever Tommy Hunter from the Baltimore Orioles for minor league outfielder Junior Lake on Friday.
Hunter, 29, is 2-2 with a 3.63 ERA in 39 appearances this season. A former starter, Hunter is in his eighth year in the league after being drafted by the Texas Rangers in 2007. He has a career 4.28 ERA.
Lake, 25, played parts of three seasons for the Cubs, compiling a .241 career batting average with 16 home runs.
ESPN's Jerry Crasnick, ESPN Stats & Information and The Associated Press contributed to this report.
Cubs trade for Dan Haren from Marlins
Tim Kurkjian looks at the Cubs' latest move, strengthening their rotation by getting Dan Haren from the Marlins.