Two arduinos to communicate

SPI is probably the "best" method, will certainly be the fastest. If data is to go back & forth, you will have to develop a protocol that lets the master control the Slave Select line and some buffering so either device can control the SCK line.

Both can use the SD card, which is controlled by the SPI bus. So you will have to develop a protocol to decide who has access, for how long, etc. and come up with similar buffering for the SCK, MOSI, MISO, and CS lines to share who is controlling them. One board or the other will provide 3.3V power, and both boards will have their GNDs connected.