Bank of America (NYSE:BAC) was the last of the "big four" U.S. banks to report its second-quarter earnings, delivering its report Monday, and it feels like the best was saved for last. Not only did Bank of America beat expectations on the top and bottom lines, but it posted impressive results throughout its operations with very little that could be interpreted as disappointing news.

With that in mind, here's a rundown of the numbers and why Bank of America could still have lots of room to grow.

Bank of America branch lobby.

Image Source: Bank of America.

The headline numbers

Bank of America beat expectations on both the top and bottom lines. Earnings per share of $0.63 handily beat analysts' $0.57 estimate and represented staggering 43% year-over-year earnings growth.

To be fair, much of that was fueled by tax reform, which I'll discuss more in the next section, but the bank's revenue increased by 3% to $22.6 billion, which was approximately $300 million more than analysts had been hoping for.

Extremely solid growth with little disappointment

I mentioned that a substantial portion of the earnings growth came from tax reform, so just to put some numbers behind that statement, consider that Bank of America's income tax expense dropped to $1.7 billion for the quarter from $3 billion in the same quarter last year. In terms of effective tax rate, Bank of America's has plunged from 37.1% to 20.2%.

This has resulted in a surge of profitability, as Bank of America is generating returns well above industry benchmarks for the first time since the financial crisis. The bank's 10.8% return on equity and 1.17% return on assets would have seemed impossible just a few years ago but are now a reality.

On a non-tax-reform note, Bank of America's management has done a great job of embracing technology and reducing expenses, which has resulted in continuously improving efficiency. The bank's 59% efficiency ratio is the best it's been in years and makes Bank of America one of the most efficient big banks.

Bank of America set aside $800 million to cover credit losses during the quarter. While this sounds like a massive amount of money (and it is), analysts were expecting nearly $1 billion, so this was also a positive surprise.

Just to run through a few more positive highlights of Bank of America's second quarter:

  • Bank of America's consumer banking division had 7% loan growth and 5% deposit growth.
  • Merrill Edge brokerage assets have increased 20% year over year.
  • Global wealth and investment management client balances soared to a record $2.8 trillion.
  • Trading revenue grew by 7%, including 17% growth in equities and 2% growth in fixed income.
  • Noninterest expense dropped 5%, which helped to drive efficiency.

In fact, the only negative metric I can find (and it's not that bad) was a slight miss on loan growth. Bank of America's loan portfolio grew by more than 2% to $935.8 billion during the second quarter, experts had been looking for $942 billion.

Big investments in technology could fuel further improvements

As a final thought, it's important to emphasize just how successful Bank of America has been when it comes to investing in and integrating new banking technology into its operations. The bank has been named No. 1 in terms of online banking and digital sales functionality by several prominent industry publications, and it continues to grow its portfolio of mobile and digital services.

Because of these improvements, Bank of America has been able to strategically reduce its branch count while simultaneously expanding into new markets, such as Cincinnati, Cleveland, and Denver, just to name a few. If Bank of America can continue this growth trajectory in an efficient and responsible manner, the bank's bottom line could certainly have a long way to climb in the years ahead.

Matthew Frankel owns shares of Bank of America. The Motley Fool has no position in any of the stocks mentioned. The Motley Fool has a disclosure policy.