The nation's second-largest bank earned $3.44 billion in the October to December period, up from $732 million a year earlier. On a per-share basis, the bank made 29 cents, beating the 27 cents expected by financial analysts.
Profits got a big boost because Bank of America was able to significantly reduce the amount of money it holds on its balance sheet to protect itself from bad loans. The bank's provision for credit losses fell to $336 million from $2.2 billion in the same period a year earlier. The bank also had significant legal costs a year earlier, which weighed down its profits back then.
"We enter this year with one of the strongest balance sheets in our company's history," Bank of America Chief Financial Officer Bruce Thompson said in a prepared statement.
Most of Bank of America's businesses saw profits improve or remain flat during the quarter. Its consumer and business banking division, by far BofA's biggest business, made a profit of $1.97 billion in the fourth quarter, up from $1.45 billion in 2012.
Fourth-quarter revenue rose to $22.32 billion from $19.6 billion, exceeding analysts' forecasts of $21.2 billion.
For the full year, Bank of America had a profit of $11.43 billion on revenue of $89.8 billion.
Bank of America was up 3 per cent in pre-market trading.