There's no such thing a simultaneous order. Your server is going to have to process one of the basket add actions first. At the point that happens the product should be locked, and any subsequent basket add actions should return an out-of-stock message. If the customer doesn't checkout within a fixed time (often one hour) it's normal to remove the lock on the product and return it to sale. This can be supplemented with messaging on the basket page explaining that the item in their bag is only going to be available for a fixed time due to low stock.
The critical thing from the user's perspective is that whichever one of them tries to add the item to their basket second should receive a message indicating the item is out of stock immediately after trying to add it to their basket. It's terrible UX to let them get into the checkout thinking they've got an item and then reject the sale later.
In general ecommerce websites get around this problem by automatically marking items as out of stock when they get down to low but non-zero product levels. This allows the merchandisers to restock the items without ever having taken an order that they're unable to fulfil; though that might not be possible in your case if the sellers are selling unique items.