Hi Ben, is there any corrosion (white or blue powder) on the terminals or the battery cables?
I had the same problem with our 2005 Corolla. It ended up being a corroded battery cable and terminal.
I had to disconnect the battery (negative first, then positive), cut off the corroded part of the cable near the terminal and install a new cable and terminal.
Be very careful when working with the battery. If you aren't sure about anything, just take it to a shop.
Now I make sure to clean the terminals and cables at least once a year and I use those felt anti-corrosion washers on the battery posts.