<?xml version="1.0"?>
<ownershipDocument>

    <schemaVersion>X0202</schemaVersion>

    <documentType>4</documentType>

    <periodOfReport>2006-08-21</periodOfReport>

    <notSubjectToSection16>0</notSubjectToSection16>

    <issuer>
        <issuerCik>0000883948</issuerCik>
        <issuerName>UNION BANKSHARES CORP</issuerName>
        <issuerTradingSymbol>ubsh</issuerTradingSymbol>
    </issuer>

    <reportingOwner>
        <reportingOwnerId>
            <rptOwnerCik>0001207963</rptOwnerCik>
            <rptOwnerName>NEAL JOHN C</rptOwnerName>
        </reportingOwnerId>
        <reportingOwnerAddress>
            <rptOwnerStreet1></rptOwnerStreet1>
            <rptOwnerStreet2></rptOwnerStreet2>
            <rptOwnerCity></rptOwnerCity>
            <rptOwnerState></rptOwnerState>
            <rptOwnerZipCode></rptOwnerZipCode>
            <rptOwnerStateDescription></rptOwnerStateDescription>
        </reportingOwnerAddress>
        <reportingOwnerRelationship>
            <isDirector>0</isDirector>
            <isOfficer>1</isOfficer>
            <isTenPercentOwner>0</isTenPercentOwner>
            <isOther>0</isOther>
            <officerTitle>EVP</officerTitle>
        </reportingOwnerRelationship>
    </reportingOwner>

    <nonDerivativeTable>
        <nonDerivativeTransaction>
            <securityTitle>
                <value>Common stock, $2 par value</value>
            </securityTitle>
            <transactionDate>
                <value>2006-08-21</value>
            </transactionDate>
            <transactionCoding>
                <transactionFormType>4</transactionFormType>
                <transactionCode>P</transactionCode>
                <equitySwapInvolved>0</equitySwapInvolved>
            </transactionCoding>
            <transactionTimeliness>
                <value></value>
            </transactionTimeliness>
            <transactionAmounts>
                <transactionShares>
                    <value>3</value>
                </transactionShares>
                <transactionPricePerShare>
                    <value>44.37</value>
                    <footnoteId id="F1"/>
                </transactionPricePerShare>
                <transactionAcquiredDisposedCode>
                    <value>A</value>
                </transactionAcquiredDisposedCode>
            </transactionAmounts>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>9686</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </nonDerivativeTransaction>
        <nonDerivativeHolding>
            <securityTitle>
                <value>Common stock, $2 par value</value>
            </securityTitle>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>428</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>I</value>
                </directOrIndirectOwnership>
                <natureOfOwnership>
                    <value>Custodian for Children</value>
                </natureOfOwnership>
            </ownershipNature>
        </nonDerivativeHolding>
    </nonDerivativeTable>

    <derivativeTable>
        <derivativeHolding>
            <securityTitle>
                <value>Employee stock options vest @ 800 shares/year</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>20.125</value>
            </conversionOrExercisePrice>
            <exerciseDate>
                <value>1999-01-22</value>
            </exerciseDate>
            <expirationDate>
                <value>2008-01-22</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common stock, $2 par value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>4000</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>4000</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeHolding>
        <derivativeHolding>
            <securityTitle>
                <value>Employee stock options vest @ 234 shares/year</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>13</value>
            </conversionOrExercisePrice>
            <exerciseDate>
                <value>2001-02-20</value>
            </exerciseDate>
            <expirationDate>
                <value>2010-02-20</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common stock, $2 par value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>1170</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>5170</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeHolding>
        <derivativeHolding>
            <securityTitle>
                <value>Employee stock options vest @ 300 shares/year</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>12.8125</value>
            </conversionOrExercisePrice>
            <exerciseDate>
                <value>2002-01-25</value>
            </exerciseDate>
            <expirationDate>
                <value>2011-01-25</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common stock, $2 par value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>1500</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>1500</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeHolding>
        <derivativeHolding>
            <securityTitle>
                <value>Employee stock options vest @ 500 shares/year</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>27.87</value>
            </conversionOrExercisePrice>
            <exerciseDate>
                <value>2004-01-23</value>
            </exerciseDate>
            <expirationDate>
                <value>2013-01-23</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common stock, $2 par value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>2500</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>11670</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeHolding>
        <derivativeHolding>
            <securityTitle>
                <value>Employee stock options vest @ 500 shares/year</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>33.98</value>
            </conversionOrExercisePrice>
            <exerciseDate>
                <value>2005-01-29</value>
            </exerciseDate>
            <expirationDate>
                <value>2014-01-29</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common stock, $2 par value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>2500</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>14170</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeHolding>
        <derivativeHolding>
            <securityTitle>
                <value>Employee stock options vest @ 500 shares/year</value>
            </securityTitle>
            <conversionOrExercisePrice>
                <value>16</value>
            </conversionOrExercisePrice>
            <exerciseDate>
                <value>2003-01-02</value>
            </exerciseDate>
            <expirationDate>
                <value>2012-01-02</value>
            </expirationDate>
            <underlyingSecurity>
                <underlyingSecurityTitle>
                    <value>Common stock, $2 par value</value>
                </underlyingSecurityTitle>
                <underlyingSecurityShares>
                    <value>2500</value>
                </underlyingSecurityShares>
            </underlyingSecurity>
            <postTransactionAmounts>
                <sharesOwnedFollowingTransaction>
                    <value>9170</value>
                </sharesOwnedFollowingTransaction>
            </postTransactionAmounts>
            <ownershipNature>
                <directOrIndirectOwnership>
                    <value>D</value>
                </directOrIndirectOwnership>
            </ownershipNature>
        </derivativeHolding>
    </derivativeTable>

    <footnotes>
        <footnote id="F1">Voluntary purchase by administrator of DRP/SPP</footnote>
    </footnotes>

    <ownerSignature>
        <signatureName>John C. Neal</signatureName>
        <signatureDate>2006-08-23</signatureDate>
    </ownerSignature>
</ownershipDocument>
