There was an unintentional fork on August 15, 2010, when "[an] attacker exploited [an] integer overflow bug that permitted an attacker to create several billion bitcoins". [source][0]
There was an unintentional fork on March 12, 2013 caused by previously disallowed number of tx inputs (?) as resolved by [BIP50][1].
The first one was reorg'd out of the chain. It was a soft-fork, just deployed in response to something rather than in anticipation.
Likewise in the second case, where there was a temporary soft-fork put in place to limit the block size so as to not run afoul of the bug, which itself wasn't a hard-fork or a soft-fork but rather a probabilistic failure to achieve consensus under transient circumstances.
Likewise in the second case, where there was a temporary soft-fork put in place to limit the block size so as to not run afoul of the bug, which itself wasn't a hard-fork or a soft-fork but rather a probabilistic failure to achieve consensus under transient circumstances.